php League-CSV:浮动数字在CSV文件中呈现为文本

时间:2018-03-29 11:24:22

标签: php csv

我正在使用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都会添加单引号,当我删除它时它就会起作用。

output of CSV file

Gedit的输出:

output of Gedit

0 个答案:

没有答案