首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python -以UTF-16LE格式保存CSV文件

Python -以UTF-16LE格式保存CSV文件
EN

Stack Overflow用户
提问于 2011-06-27 21:49:37
回答 2查看 2.7K关注 0票数 3

我必须将som数据导入到我的Yahoo Marketing帐户中-并且CSV文件必须编码为- yahoo: CSV/TSV文件: Unicode (技术上为UTF-16LE编码)

代码语言:javascript
复制
writer = csv.writer(open('new_yahoo.csv','w', encoding='utf-16-le'), delimiter="\t")
writer.writerows(reader)
EN

回答 2

Stack Overflow用户

发布于 2011-06-27 22:05:21

如果您向下滚动Python CSV page中提供的示例,您会发现它

csv模块不直接支持读写Unicode,但它是8位的,除了ASCII字符的一些问题。因此,只要避免像UTF-16这样使用NULs的编码,您就可以编写函数或类来为您处理编码和解码。建议使用UTF-8。

但是,如果您确实需要使用unicode,这看起来可能会有所帮助:

下面的

unicode_csv_reader()是一个生成器,它包装csv.reader以处理Unicode CSV数据( Unicode字符串列表)。

..。

对于所有其他编码,可以使用以下UnicodeReader和UnicodeWriter类。它们在构造函数中使用额外的编码参数,并确保数据通过以UTF-8编码的实际读取器或写入器:

因此,看起来他们在底部提供的示例应该可以完成您想要的编码。

票数 0
EN

Stack Overflow用户

发布于 2011-06-27 22:18:01

根据所使用的open命令判断,您使用的是Python3.x。尽管您可能还需要定义newline参数,但是您所拥有的应该是有效的。newline=''将使用原生行尾(例如,Windows上的CRLF),但雅虎可能有其他要求。下面的代码在Windows上正确生成了带有CRLF行结尾的文件。

代码语言:javascript
复制
data = [
    ['One','Two','Three'],
    [1,2,3],
    [4,5,6],
    [7,8,9]]

import csv
f = open('new_yahoo.csv','w', newline='', encoding='utf-16-le')
writer = csv.writer(f, delimiter='\t')
writer.writerows(data)
f.close()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6493876

复制
相关文章

相似问题

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