我的脚本中有以下代码。
$file= fopen("./test.csv","x+");
$proj_lists="name,age,address,city name,country name\n";
fputcsv($file,explode(',',$proj_lists),',',' ');
fclose($file);
它创建一个具有给定值的csv文件。 我的问题是它用双字创造了额外的空间。 示例“国家/地区名称”写为“国家/地区名称”(此单词中有2个空格)。
如何解决此问题。
答案 0 :(得分:1)
我的问题是它用双字创造了额外的空间
那是因为您选择使用空格作为字符串封装字符(第四个参数,默认值是双引号)。这是输出的第一行:
name,age,address, city name , country name
^ ^^ ^ ^ ^^
e ee e e ee
其中e
是机箱,而ee
是转义机箱,后面是机箱字符(它恰好是您尝试的数据的一部分)输出)。
最好只使用fputcsv
附带的默认值;也就是说,只用两个参数调用函数。
fputcsv($file, explode(',', $proj_lists));
这将输出大多数电子表格应用程序可以读取的内容:
name,age,address,"city""name","country name
"
答案 1 :(得分:0)
实际上您需要使用fputs()
,如下所示: -
<?php
$file= fopen("./test.csv","x+");
$proj_lists=explode(',',"name,age,address,city name,country name");
fputs($file,implode($proj_lists, ','));
fclose($file);
?>
输出: - name,age,address,city name,country name