3 回答

TA貢獻1836條經驗 獲得超4個贊
您以文本模式打開文件。
進一步來說:
ifile = open('sample.csv', "rt", encoding=<theencodingofthefile>)
編碼的不錯猜測是“ ascii”和“ utf8”。您還可以關閉編碼,它將使用系統默認編碼,該編碼通常為UTF8,但可能還有其他含義。

TA貢獻1853條經驗 獲得超6個贊
我只是用我的代碼解決了這個問題。引發該異常的原因是因為您有參數rb。將其更改為r。
您的代碼:
import csv
ifile = open('sample.csv', "rb")
read = csv.reader(ifile)
for row in read :
print (row)
新代碼:
import csv
ifile = open('sample.csv', "r")
read = csv.reader(ifile)
for row in read :
print (row)

TA貢獻1794條經驗 獲得超8個贊
您的問題是您b的open標志中有。標志rt(讀取,文本)是默認設置,因此,使用上下文管理器只需執行以下操作:
with open('sample.csv') as ifile:
read = csv.reader(ifile)
for row in read:
print (row)
上下文管理器意味著您不需要常規的錯誤處理(如果沒有這種處理,您可能會卡在打開文件中,尤其是在解釋器中),因為它會在發生錯誤或退出上下文時自動關閉文件。
上面的與:
with open('sample.csv', 'r') as ifile:
...
要么
with open('sample.csv', 'rt') as ifile:
...
添加回答
舉報