示例$ this-> generating_csv =" 12,000"。",";
而不是在一列中插入12,000,第一列插入12,第二列插入000。
我该如何解决这个问题(php)
答案 0 :(得分:0)
如果您引用字段,这就是读取程序的错误。
但看起来你没有引用这些字段。
RFC4180允许CSV文件中的一行,如:
"A","12,000","C"
是3个字段,而不是4个字段。请注意,这些字段是引用的。
A,12,000,C
是4个字段,字段1为A
,字段2为12
,字段3为000
,字段4为C
。阅读程序可以'读这个任何其他的方式......它无法读懂思想。
但是许多程序无法处理字段中带逗号的CSV文件,即使字段被正确引用也可能包含逗号。更令人困惑的是,许多程序可以设置为以逗号分割而不是根据RFC4180读取。在逗号上拆分不足以读取完整的RFC4180 CSV格式。
话虽如此,这里还有另一个问题:12,000
不是Python,Javascript,R和许多语言中的有效数字,所以即使程序使用了一个好的RFC4180阅读器(例如{{在python中的1}}模块,将csv
更改为数字仍然会失败。
所以你可能想要删除引用字段中数字之间的逗号。
在您的情况下,因为您只是在PHP中生成CSV文件 试试这两种方法:
备选方案A:引用字段
12,000
这将导致$this->generating_csv = '"12,000"'.','.'"field2"'
出现在输出
备选方案B:生成没有额外逗号的字段:
"
如果您已经在引用字段中有多个带逗号的CSV文件,并且读取程序无法正确读取它们,则可以使用正则表达式搜索/替换以清除逗号。在Python中,以下内容将清除csv文件中的逗号:
$this->generating_csv = "12000".","."field2"