4

我在 PHP 中使用fgetcsv()函数来读取使用 Microsoft Excel 生成的 CSV 文件。

问题是 CSV 文件包含带逗号的值,并且它按原样读取转义值(带双引号)。

例如: "2,5,7"读作"2& 5&8"

问题可以通过将双引号改为单引号来解决。但是我不想每次都编辑每个 CSV 文件。

我使用的代码如下:

$handle = fopen($path, "r");
$data = fgetcsv($handle,1000,",","'");
做
{
    **阅读 CSV**
}
而 ($data = fgetcsv($handle,5000,","));

处理这个问题的最佳方法是什么?

4

1 回答 1

8

更改此行

$data = fgetcsv($handle,1000,",","'");

$data = fgetcsv($handle,1000,",",'"');

或者只是省略最后两个参数,因为它们是默认值

$data = fgetcsv($handle,1000);

fgetcsv 的第四个参数是包围字符,它告诉如何对可能包含分隔符的字段进行框架化。

于 2013-05-31T06:19:01.947 回答