2014-12-08 314 views
0

执行csv导入示例时遇到反斜杠(\”)问题。使用fgetcsv()导入csv文件时出现反斜杠(“)问题

这里是CSV我2条输入线

“Travel_and_Work_en.pdf”,840722,3 /2007分之2210:57,10元/二千零七分之十12:00 AM ,10月10日/ 2007 9:00 AM,“。pdf”,“e:\”

“._。Trashes”,4096,10/12/2010 4:55 PM,12/8/2014 12:00 AM,二○一四年十一月十三日 上午3时, “象垃圾一样清除”, “E:\”

与此代码,我发现了输出(编辑阵列),如下所示,

while (($csv_data = fgetcsv($handle, 0, ',')) !== FALSE) { 
    print_r($csv_data); 
} 

输出

Array (
    [filename] => Travel_and_Work_en.pdf 
    [file_size] => 840722 
    [modified] => 3/22/2007 10:57 AM 
    [accessed] => 10/10/2007 12:00 AM 
    [created] => 10/10/2007 9:00 AM 
    [extension] => .pdf 
    [full_path] => e:\" ._.Trashes" 

} 

这里的问题是,第二行第1场1号线最后一个字段合并,我认为它是因为\"末,我怎么能解决这个问题?

+0

你到目前为止解决了什么问题?如果你认为这是因为'''',为什么你不试图逃避它?而不是使用'print_r'来调试,使用'var_dump' – 2014-12-08 07:49:58

+0

@ RonniSkansing是的,我试着用这段代码逃避的事情,而($ csv_data = fgetcsv($ handle,0,',',''','\\'))!== FALSE){},但似乎也不起作用。 – 2014-12-08 07:52:30

回答

2

您可以尝试使用双引号作为转义符号。

while (($csv_data = fgetcsv($handle, 0, ',', '"', '"')) !== FALSE) { 
    print_r($csv_data); 
} 

但是您必须确定您的字段中没有双引号。

+0

哇..它似乎是完美的工作..谢谢 – 2014-12-08 07:58:26