2016-08-25 143 views
1

我讀從設備生成的CSV文件時,我得到這個錯誤消息,忽略空字節:如何讀取csv文件

Error: line contains NULL byte 

我在文本編輯器中打開CSV文件,然後我看到在頭部有一些NUL字節,我並不在乎。我怎樣才能讓csv閱讀器功能忽略NUL字節,並只是通過文件的其餘部分?

頭部分和數據之間有兩條空行,也許有辦法跳過整個頭部?

我讀的CSV文件的代碼是

with open(FileName, 'r', encoding='utf-8') as csvfile: 
    csvreader = csv.reader(csvfile) 
+0

潛在的重複與http://stackoverflow.com/questions/1706198/python-how-to-ignore-comment-lines-when-reading-in-a-file/1706204,http://stackoverflow.com/ question/1730649/more-pythonic-way-of-skipping-header-lines and http://stackoverflow.com/questions/9578580/skip-first-couple-of-lines-while-reading-lines-in-python-文件 –

回答

2

這將取代你的空字節

csvreader = csv.reader(x.replace('\0', '') for x in csvfile) 
0

當一個CSV閱讀,你必須刪除這些文件。

有一篇文章我前一段時間讀過,它被稱爲編程的塔可鍾方法。其中,文章假定塔可鍾實際上只有8種成分,但從中可以製成所有的沙拉帕,豆餡和其他不可食用的食品。

可能應該將doritos添加到該成分列表中。不過,這一點仍然存在。

wget,awk,sed等這些應該使用時,你可以。沒有意義使它過於複雜,並且將所有這些庫引入到一種語言中。

所以,我問,你可以先在UNIX上做到這一點嗎?你可以。

UNIX

tr < file-in -d '\000' > file-out

它的快速,並將努力。

...現在,回到玉米餅。