6

可能重复:
如何从 php 中的 csv 文件中提取数据

我在 XLS 中有一些数据,我将它们保存为 CSV,分隔符是 **逗号*。然后我试图从这个 CSV 文件加载数据:

$input = explode("\r\n", fread($file, filesize("my_data.csv")));
print_r($input);

输出:

Array ( [0] => data from the CSV file)

这就是问题所在 - 数组中始终只有一项,其中打印出 CSV 文件中的所有数据。这怎么可能?为什么数组中的项目不如 CSV 文件中的行多?

另外,我尝试更改"\r\n"“\n”,但它是一样的。

我正在尝试做的 - 从 CSV 文件中加载每一行,然后每一行进行处理。

文件示例:

a,b,c,d
e,f,g,h

输出:

a,b,c,d e,f,g,h

4

2 回答 2

4

我建议使用 php 内置的 csv 文件读取功能fgetcsv(),而不是自己创建:http: //php.net/manual/en/function.fgetcsv.php

 if (($handle = fopen($file, "r")) !== FALSE) {
     while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $row = implode (",",$data); //puts back together the row from the csv
        echo $row. "\n"; //assuming you want a visual linebreak on console, add the \n
     }
    fclose($handle);
 }  
于 2012-12-20T17:21:42.427 回答
0

我是如何解决这个问题的:

在 XLS 文件中,在将文件导出为 CSV 之前,我在工作表的末尾添加了一个带有 char 的列'

于 2012-12-20T17:59:53.790 回答