在我的 csv 程序开始时:
import csv # imports the csv module
import sys # imports the sys module
f = open('Address Book.csv', 'rb') # opens the csv file
try:
reader = csv.reader(f) # creates the reader object
for row in reader: # iterates the rows of the file in orders
print (row) # prints each row
finally:
f.close() # closing
错误是:
for row in reader: # iterates the rows of the file in orders
_csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)
最佳答案
代替这个(以及其他):
f = open('Address Book.csv', 'rb')
这样做:
with open('Address Book.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
print(row)
上下文管理器意味着您不需要 finally: f.close()
,因为它会在出现错误或退出上下文时自动关闭文件。
关于python - _csv.Error : iterator should return strings, not bytes(您是否以文本模式打开文件?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22132034/