我在 PHP 中使用 fgetcsv() 函数来读取使用 Microsoft Excel 生成的 CSV 文件。
问题是 CSV 文件包含带逗号的值,它按原样读取转义值(带双引号)。
例如: "2,5,7"
读作 "2
& 5
& 8"
问题可以通过将双引号改为单引号来解决。但是我不想每次都编辑每个 CSV 文件。
我使用的代码如下:
$handle = fopen($path, "r"); $data = fgetcsv($handle,1000,",","'"); do { **READ CSV** } while ($data = fgetcsv($handle,5000,","));
处理此问题的最佳方法是什么?
最佳答案
改变这一行
$data = fgetcsv($handle,1000,",","'");
到
$data = fgetcsv($handle,1000,",",'"');
或者只是省略最后两个参数,因为它们是默认值
$data = fgetcsv($handle,1000);
fgetcsv 的第四个参数是封闭字符,它告诉如何构建可能包含分隔符的字段。
关于php - 如何为 CSV、fgetcsv() 问题转义逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16850830/