编辑:是否有替代fgetcsv?用户fgetcsv带有和不带引号的条目
下面的代码处理,其中在由报价套管和分隔每一项由逗号ex: "Name","Last"
CSV文件...我遇到的问题是有时CSV文件没有围绕每个条目的报价,只是用逗号分隔它ex: Name,Last
。我如何处理这两种类型?
$uploadcsv = "/temp/files/Load15.csv";
$handle = fopen($uploadcsv, 'r');
$column_headers = array();
$row_count = 0;
while (($data = fgetcsv($handle, 100000, ",")) !== FALSE) {
if ($row_count==0){
$column_headers = $data;
} else {
print_r($data);
}
++$row_count;
}
这个CSV工作:
"Name","Last"
"Mike","Aidens"
"Mike1","Aidens1"
这个CSV不起作用:
Name,Last
Mike,Aidens
Mike1,Aidens1
编辑:奇怪的错误......我试图从一个小片段没有引用的CSV文件,它的工作。奇怪的是,我尝试了一大块,然后整个CSV内容(这都是粘贴到一个新的test.csv文件),它的工作。两个文件都是相同的确切大小17,151kb,但原始的CSV文件不会处理。最后没有尾随空格或行。
你是说它不处理这两种权利吗?会发生什么呢? fgetcsv为我处理了未加引号的值。 – 2010-12-10 12:06:39
@dan什么也没有发生,没有错误,也没有输出。它只适用于“名称”,不会与名称一起使用。我需要它的工作与“名称”,“最后”和名称,最后 – acctman 2010-12-10 12:24:59
提供您的CSV文件,因为fgetcsv不是过错 – 2010-12-10 12:31:02