首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在CSV文件中写入UTF-8

如何在CSV文件中写入UTF-8
EN

Stack Overflow用户
提问于 2013-09-12 22:25:28
回答 6查看 171.2K关注 0票数 97

我正在尝试用PyQt4 QTableWidget创建csv格式的文本文件。我想用UTF-8编码编写文本,因为它包含特殊字符。我使用以下代码:

import codecs
...
myfile = codecs.open(filename, 'w','utf-8')
...
f = result.table.item(i,c).text()
myfile.write(f+";")

它在单元格包含特殊字符之前一直有效。我也尝试过

myfile = open(filename, 'w')
...
f = unicode(result.table.item(i,c).text(), "utf-8")

但它也会在出现特殊字符时停止。我不知道我做错了什么。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2016-05-21 22:50:43

这对于Python3.x (docs)来说非常简单。

import csv

with open('output_file_name', 'w', newline='', encoding='utf-8') as csv_file:
    writer = csv.writer(csv_file, delimiter=';')
    writer.writerow('my_utf8_string')

对于Python2.x,请查看here

票数 116
EN

Stack Overflow用户

发布于 2015-07-27 05:19:04

从您的shell运行:

pip2 install unicodecsv

(与原始问题不同)假设您正在使用Python的内置csv模块,请依次

import csv into

在您的代码中使用import unicodecsv as csv

票数 106
EN

Stack Overflow用户

发布于 2014-03-24 19:07:53

使用这个包,它就能工作:https://github.com/jdunck/python-unicodecsv

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18766955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档