我有一個大的CSV文件(8.1 GB),我試圖纏鬥到R.我創建的CSV使用Python的csvkit in2csv
時,從一個.txt文件轉換,但不知何故轉換導致文件中出現空字符。導入時,我現在收到此錯誤:「字符串內嵌的NULL」導入大型CSV(8 GB)用fread()
Error in fread("file.csv", nrows = 100) : embedded nul in string: 'ÿþr\0e\0c\0d\0_\0z\0i\0p\0c\0'
我上午能夠導入小塊只是read.csv
雖然很好,但是這是因爲它允許通過fileEncoding
參數UTF-16編碼。
test <- read.csv("file.csv", nrows=100, fileEncoding="UTF-16LE")
我不敢嘗試導入8 GB的文件與read.csv
,雖然。
因此,我然後嘗試提供的解決方案,其中您使用sed s/\\0//g file.csv > file2.csv
拉空位。該命令執行得很好,填充新的8GB CSV文件,但我收到了幾乎相同的錯誤:
Error in fread("file2.csv", nrows = 100) : embedded nul in string: 'ÿþr\0e\0c\0d\0_\0z\0i\0p\0c\0,\0p\0o\0s\0t\0_\0z\0i
所以,沒有工作。我很困惑這一點。考慮到文件的大小,我不能在整個事情上使用read.csv
,我不確定如何擺脫原始CSV中的空值。我甚至不確定文件是如何編碼爲UTF-16的。任何建議或建議,將不勝感激在這一點上。
編輯:我在Windows機器上。
除非你永遠不會再次得到這個數據饋通相同的過程,好像這將是值得,而在源固定數據,:-(......但是這是一個不同的問題。好!運氣 – shellter 2014-11-22 13:28:26