0

我尝试使用以下代码将 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);
4

1 回答 1

0

根据PHP Manual,内爆可以是

string implode ( string $glue , array $pieces )
string implode ( array $pieces )

因此,在您的情况下,如果$line为空,那么它将使用第二个原型执行并认为\n是错误的 $pieces。$line所以在调用 implode 之前检查值

于 2013-02-08T07:06:38.277 回答