我在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,",","'");
Run Code Online (Sandbox Code Playgroud)
至
$data = fgetcsv($handle,1000,",",'"');
Run Code Online (Sandbox Code Playgroud)
或者只是取消最后两个参数,因为它们是默认值
$data = fgetcsv($handle,1000);
Run Code Online (Sandbox Code Playgroud)
fgetcsv的第四个参数是外壳字符,它告诉如何构造可能在其中包含分隔符的字段.