我尝试使用以下代码将csv文件转换为tsv。
在我的csv中,第一个单词没有任何价值。 当我运行代码时,它正确生成tsv文件,但它给出了上述错误。请帮忙
谢谢
$myfile = "file path";
function convert($filename)
{
if(@$fh_in = fopen("{$filename}.csv","r"))
{
$fh_out = fopen("{$filename}.tsv","a");
while(!feof($fh_in))
{
$line = array();
$line = fgetcsv($fh_in,1024);
fwrite($fh_out,implode("\t",$line)."\n");
}
fclose($fh_in);
fclose($fh_out);
}
else {
echo "File doesn’t exist\n";
return false;
}
echo "Conversion completed!\n";
return true;
}
convert($myfile);
答案 0 :(得分:0)
根据PHP Manual,内爆可以是
string implode ( string $glue , array $pieces )
string implode ( array $pieces )
所以在你的情况下,如果$line
为空,那么它将使用第二个原型执行并将\n
视为$ pieces,这是错误的。因此,在调用implode之前检查$line
中的值