2013-04-18 101 views
3

當我試圖使用data.table:fread(fn, sep='\t', header=T)讀取一個csv文件時,它給出了在這條線上觀察到的」不平衡「錯誤。數據有3個整數變量和1個字符串變量。 csv文件中的字符串不包含在"中,是的,有些行在字符串變量中包含",並且"字符不是成對的。data.table :: fread和Unbalanced「

我想知道是否可以讓fread忽略變量中的不成對"並繼續讀取數據?謝謝。

這裏是樣本數據(只是一個記錄)

N_ID VISIT_DATE REQ_URL REQType 
175931 2013-3-8 23:40:30 http://aaa.com/rest/api2.do?api=getSetMobileSession&data={"imei":"60893ZTE-CN13cd","appkey":"android_client","content":"Z0JiRA0qPFtWM3BYVltmcx5MWF9ZS0YLdW1ydXoqPycuJS8idXdlY3R0TGBtU 1 
+2

您能否將您的文件的第一行添加到問題中?請注意fread仍在開發中,並且嵌入的引號(「\」「和」「」「)有問題... – agstudy

+0

沒有重現您的錯誤,我們可以提供幫助(除非您遇到了確切的問題) – Arun

+0

我已經添加了示例記錄,請驗證,謝謝 – baidao

回答

6

UPDATE:現在v1.8.11

實現從新聞:

FREAD現在接受報價(包括'和')在字段的中間, 字段是否以「或不是」開頭,而不是'不平衡的 引號'錯誤r,#2694。感謝baidao報告。它已被記錄在?fread的頂部(文本現在已被刪除)。如果一個字段開始 並且「必須以」結束(如果字段分隔符本身在 字段內容中,則必須)。嵌入的引號也可以在列名中。換行符(\ n) 仍然不能位於帶引號的字段或帶引號的列名稱中。


是爲@agstudy說,嵌入式引號一個已知的問題記錄尚未因爲fread實行的是新的。嚴格地說,我想這些不是嵌入的,因爲你的例子中的字符串不是以引號開頭的。

無論如何,我已經提交這個作爲錯誤報告,所以它不會被遺忘。在下一個版本中完成。感謝您的突出。

#2694 : Strings including quotes but not starting with quote in fread

+0

感謝您,馬修。我會繼續關注。 – baidao

+0

這個問題已解決嗎?我有類似的問題處理tweets,我相信tweet_text字段有\ n字符 – ZacharyST

+0

@ZacharyST您是否搜索自述文件並測試了它?如果還有問題,請查找和+1(或引發一個新的)GitHub問題。 –