【发布时间】:2017-07-22 11:54:27
【问题描述】:
我将一个 csv 文件路径传递给这个函数。
def validateCSV(filename):
with open(filename, 'rb') as file:
print type(filename)
if not filename.readlines():
print 'empty file'
else:
reader = csv.reader(file)
for row in reader:
print row
file.close()
但是当我运行它时,我得到了一个错误
'unicode' 对象没有属性'readlines'
但是当我检查 csv 文件的类型时,它是 unicode。所以我明白他们需要一个文件对象。那么我怎样才能将 unicode 转换为文件对象。 然后我尝试了这个,
filename = filename.encode("utf-8")
然后它的类型变成字符串并显示另一个错误。
'str' 对象没有属性'readlines'
请帮助我。在此先感谢。
【问题讨论】:
-
filename不是file -
@PeterWood 我没听懂你说什么。请给我一个细节
-
@PeterWood 文件名是一个 unicode 对象
-
replace ` if not filename.readlines(): ` 为
if not file.readlines()这就是 Peter Wood 的意思 -
但我无法读取文件内容
标签: python csv unicode readlines