我有一个元组列表,我想将其保存到文件中。我通常使用 .encode('utf-8')
解决此错误,但由于我确实有一个包含整数的元组,因此这似乎不起作用。
我的数据如下所示:
lis=[[(0, u'good', 19, u'quality', 1),
(1, u'smells', 13, u'product', 0),
(1, u'better', 14, u'packaging', 1),
[(3, u'error', 6, u'vendor', 0)]]
如果我运行我的代码
with open("./Results.csv","w") as f:
for k in range(0, len(lis)):
for line in lis[k]:
strs=str(k)+" "+" ".join(str(x)) for x in line)
f.write(strs+"\n")
我收到 ascii 代码错误。如果我在代码中使用 str(x.encode('utf-8'))
我会得到一个不同的错误,即:
AttributeError: 'int' object has no attribute 'encode'
如果您能帮我解决这个问题,那就太好了。
最佳 亚历克斯
最佳答案
你的调用顺序颠倒了;你想要
str(x).encode('utf-8')
...尽管 str()
可能会遇到相同的错误,如果您向其传递可能是或可能不是 Unicode 的内容,并对 str
进行编码无论如何,不一定是明确定义的;你可能应该使用
unicode(x).encode('utf-8')
关于python - 将元组列表保存到文件时,“ascii”编解码器无法编码字符错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37697373/