启用Excel以UTF8格式打开Python CSV输出

2024-04-26 18:31:36 发布

您现在位置:Python中文网/ 问答频道 /正文

围绕这个问题,我已经写了几篇类似的文章,但都没有用——我将一个列表列表输出到csv文件,但是特殊字符没有正确显示,因为Excel没有将其读取为UTF8。你知道吗

我是一个初学者,所以我正在努力实现一些人们使用过的变通方法,例如编写UTF16和使用BOM表-我最近的尝试是尝试将BOM表添加到我的输出CSV,但它不起作用。你知道吗

with open(outputname, "wb") as f:
  writer = csv.writer(f)
  writer.writerows(my_list)
  f.write(u'\ufeff'.encode('utf8')) # BOM

我尝试过一些更复杂的方法,比如使用UnicodeWriter,但是运气不好。任何想法都将不胜感激!你知道吗


Tags: 文件csv列表with文章openutf8bom
1条回答
网友
1楼 · 发布于 2024-04-26 18:31:36

我终于弄明白了这一点,以防它对其他人有用-我绕过它,解码我的csv内容(在导出到csv之前存储在嵌套列表中),然后将内容重新编码为“cp1252”,我相信这是Excel使用的编码。虽然还没有在Mac上测试过,但它确实可以在Windows上运行。你知道吗

for i in range(len(nestedlist)):
    for j in range(7):
        x = nestedlist[i][j]
        y = unicode(x, 'utf-8')
        nestedlist[i][j] = y.encode('cp1252')

相关问题 更多 >