Python的csv包固有問題
實踐證明,當使用csv讀取文件時,一旦文件里包含了’\0’或則’\x00’這種字符串時,會報錯顯示‘line contains null byte’。
一部分原因是文件中本身就存在這樣的字符串,另一可能原因是該csv文件是從excel文件轉換而來的,那么簡單的處理的方式就是重新保存成csv。
如果不想修改文件,就需要將這些可能的null byte抽取掉。以下代碼:
with open(path, 'r', encoding="UTF8") as f:
reader = csv.reader((line.replace('\0', '') for line in f), delimiter=",")
for row in reader:
print(row)