[英]'str' object has no attribute 'decode' in python with unicodecsv
以下代码在 python 3.8 中出现错误,带有 networkx、unicodecsv
with open('hero-network.csv', 'r') as data:
reader = csv.reader(data)
**for row in reader:**
graph.add_edge(*row)
AttributeError: 'str' object has no attribute 'decode'
csv
中的reader
方法接受reader
而不是str
。
检查这篇文章。
当您尝试解码已解码的str
时,会发生该错误。 您是否正确传递参数?
unicodescv.reader
需要一个以二进制模式打开的文件,因为至少在理论上,它将解决如何解码字节。
with open('hero-network.csv', 'rb') as data: # the mode is 'rb', not 'r'
reader = csv.reader(data)
for row in reader:
graph.add_edge(*row)
正如评论中所指出的,当标准库的 csv 模块的 unicode 处理很差时, unicodecsv
对 Python2 更有用。 在 Python 3 中,您可以在打开文件时指定编码并将生成的文件 object 传递给标准库的 csv 模块。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.