python - 将元组列表保存到文件时,“ascii”编解码器无法编码字符错误

标签 python encoding utf-8

我有一个元组列表,我想将其保存到文件中。我通常使用 .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/

相关文章:

Java特殊字符替换

php - Zend Framework PDF 生成 unicode 问题

text - 如何将带圆圈的数字转换为数字? (① 到 1)

python - 如何使用/安装 pip

python - Python中排列的递归实现

python - 递归错误 : maximum recursion depth exceeded - simple program

java - Tomcat的 "URIEncoding"、Encoding Filter和request.setCharacterEncoding有什么区别

javascript - 告诉浏览器用连字符替换 UTF-8 分词符?

php - 由于PayPal在POST中向IPN监听器发送了不正确的字符集,因此IPN验证返回了无效

Python C API : Problems trying to build a dictionary