我是一个具有以下结构的csv文件:
a; b; c,c c; d
当我尝试处理它时,它表示偏移量2和3未定义。花了一些时间才意识到它是由,
引起的,并且不知道如何解决这个问题。如果删除,
,一切运行正常。
这是我的处理功能:
function process_csv($file) {
$file = fopen($file, "r");
$data = array();
while (!feof($file)) {
$csvdata = fgetcsv($file);
$data[] = explode(';', $csvdata[0]);
}
fclose($file);
return $data;
}
将fgetcsv($file);
视为fgetcsv($file, '"');
,但没有帮助。
答案 0 :(得分:11)
您的问题是,fgetcsv默认使用,
作为分隔符。您需要将其更改为;
。那么你将不再需要explode
:)
function process_csv($file) {
$file = fopen($file, "r");
$data = array();
while (!feof($file)) {
$data[] = fgetcsv($file,null,';');
}
fclose($file);
return $data;
}