二、csv.error: line contains null byte解決方法
這個錯誤說明的是含有空字元,去看csv的原始碼,其中乙個函式表示,不能有空操作符,即不能有「\0」或者「\x00」(16進製制)。
解決辦法:
1.如果你的檔案是從xlxs格式重新命名為csv格式的話,那麼重新再另存為csv格式一下就ok。
2、把空字元全部換掉
with open(input_file, 「rb」) as f:
reader = csv.reader( (line.replace(』\0』,』』) for line in f) )
三、附上我的原始碼
實現功能按要求刪除某一行再寫入進另乙個檔案
因為我們是要寫入,所以我們用的模式就是 『a』 模式,追加內容,至於"newline="就是說因為我們的csv檔案的型別,如果不加這個東西,當我們寫入東西的時候,就會出現空行。
input_file和out_file是兩個csv的檔案路徑
with open(input_file, 'r',encoding='gb18030',errors='ignore') as csv_file:
print("開啟輸出檔案成功")
reader = csv.reader(csv_file)
print("讀取檔案成功")
out = open(out_file, 'a', newline='')
csv_write = csv.writer(out,dialect='excel')
print("建立寫入指標")
print(type(reader))
for row in reader:
result = re.match(r'<.', row[2])# 去除某一行
if(result==none):
csv_write.writerow(row)
print("正在寫入資料")
else:
continue
print("寫入資料成功")
out.close()
四、參考部落格 python 讀CSV 檔案遇到的問題
直奔主題 把包含中文的csv檔案的編碼改成utf 8的方法 最近需要驗證csv文個中,某個字段是否存在一些特定的中文,用python開啟csv進行遍歷時總因為編碼的問題報錯,實在頭大,就採取了曲線救國的方法,即先將csv檔案用excel開啟,另存為 csv utf8格式。然後再遍歷,就ok了。接下來...
python讀 python讀寫csv檔案
今天閒來無事,寫了會csv,簡單總結下csv具體操作 什麼是csv 逗號分隔值 comma separated values,csv,有時也稱為字元分隔值,因為分隔字元也可以不是逗號 其檔案以純文字形式儲存 資料 數字和文字 讀csv檔案 1 首先匯入csv模板 2 建立乙個csv檔案物件 3 開啟...
python學習筆記 CSV檔案讀
python pandas io tools 之csv檔案讀寫 讀取csv檔案 pd.read csv 寫入csv檔案 pd.to csv import pandas as pd obj pd.read csv test.csv print objunnamed 0 c1 c2 c3 0 a 0 5...