我正在使用League CSV包(v9.0)将数据写入CSV文件,不幸的是它将浮动数字导出为文本而不是数字。我希望它们保留为数字,以便可以使用Excel或OpenOffice完成SUM,Count等基本操作。
以下是我想要插入csv文件的数据。
$data = array(
[
'header1' => 12.02,
'header2' => 32.4,
'header3' => "sadsa",
'header4' => "rete",
'header5' => "tet"
],
[
'header1' => 14.02,
'header2' => 35.4,
'header3' => "blabla2",
'header4' => "rete",
'header5' => "tet"
],
);
使用League CSV插入数据
$writer = Writer::createFromPath($filePath,'w+');
//$header = $this->getHeaderFromData($FileData);
$writer->setDelimiter(";");
//$writer->insertOne($header);
$writer->insertAll(new \ArrayIterator($data));
使用fputcsv()
的结果也相同$file = fopen("/tmp/test.csv","w");
foreach ($data as $value) {
fputcsv($file,$value,";",'"');
}
fclose($file);
CSV输出:出于某种原因,fputcsv()
和League-CSV
都会添加单引号,当我删除它时它就会起作用。
Gedit的输出: