python讀csv檔案遇到的一系列問題

2021-09-27 13:24:29 字數 1058 閱讀 3824

二、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...