我从python 3.6.1开始,我想使用此代码阅读csv文档:
f = open ("mon_fichier.csv"),"r"
import csv
lecteur = csv.DictReader(f,delimiter=";")
for ligne in lecteur :
print (ligne)
f.close()
我收到此错误消息
Error: iterator should return strings, not _io.TextIOWrapper (did you open the file in text mode?)
你知道为什么吗?
答案 0 :(得分:0)
请注意语法:
f = open ("mon_fichier.csv"),"r"
表示type(f) == tuple
,即它是带有文件句柄和"r"
字符串的2元组。你的意思是:
f = open("mon_fichier.csv", "r")
或者,由于"r"
是默认模式,您可以这样做:
f = open("mon_fichier.csv")
实际上,最好使用上下文管理器,所以你应该这样做:
import csv
with open("mon_fichier.csv") as f:
lecteur = csv.DictReader(f, delimiter=";")
for ligne in lecteur :
print(ligne)