我有一个输入 CSV,其中“列”没有包含在任何东西中。
文件内容($input = fopen(filename);):
1,2,3,4,5,6,7 a,b,c,d,e,f,g 9,8,7,6,5,4,3 z,y,x,w,v,u,t
I'm having problems getting fgetcsv() to work because there isn't an enclosure around the values.
while($row = fgetcsv($input)) {
print_r($row);
}
结果是:
1111
I've tried some basic things that I could think of off the top of my head:
fgetcsc($file, 0, ',', '\');
fgetcsc($file, 0, ',', '');
任何解决方法的想法?手动编辑我的输入文件并不是一个真正的选择,因为它有几百万行。
最佳答案
不清楚你的问题是什么。 fgetcsv
和 str_getcsv
也适用于没有引号的列:
print_r(str_getcsv('1,2,3,4,5,6,7'));
返回:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 7
)
引号是可选的,仅适用于可以在值中包含列分隔符的 CSV:
column1, "Column 2 with , comma inside", colum3
关于PHP fgetcsv() 其中源文件没有 shell 字符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8189264/