我必须将som数据导入到我的Yahoo Marketing帐户 - 并且CSV文件必须在 - yahoo:CSV/TSV文件中进行编码:Unicode(技术上的UTF-16LE编码)Python - 将CSV文件保存为UTF-16LE
writer = csv.writer(open('new_yahoo.csv','w', encoding='utf-16-le'), delimiter="\t")
writer.writerows(reader)
我必须将som数据导入到我的Yahoo Marketing帐户 - 并且CSV文件必须在 - yahoo:CSV/TSV文件中进行编码:Unicode(技术上的UTF-16LE编码)Python - 将CSV文件保存为UTF-16LE
writer = csv.writer(open('new_yahoo.csv','w', encoding='utf-16-le'), delimiter="\t")
writer.writerows(reader)
如果您在Python的CSV page提供的例子向下滚动,你会发现它
csv模块不支持直接读写Unicode的,但它是8-对于ASCII NUL字符的某些问题,可以进行清零保存。因此,只要避免使用NUL的UTF-16编码,就可以编写处理编码和解码的函数或类。建议使用UTF-8。
但是,如果你需要做unicode的,它看起来像这可能帮助:
unicode_csv_reader()下面是一个封装csv.reader来处理Unicode CSV数据(Unicode的一个列表发电机字符串)。
...
对于所有其他编码以下UnicodeReader和UnicodeWriter类可以使用。他们采取在其构造额外的编码参数,并确保数据通过编码为UTF-8的真正的读者或作者:
所以看起来它们在底部应该做你想要的编码提供范例。
看起来你正在使用Python 3.X,通过使用open
命令来判断。你有什么应该工作,尽管你也可能需要定义newline
参数。 newline=''
将使用本地行结尾(例如Windows上的CRLF),但雅虎可能有其他要求。下面的代码使用CRLF行结束符在Windows上正确生成文件。
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()
这是不是一个真正的问题...我回答什么,我想你想(可以将其与Python的csv.writer做),但你真的需要你想要什么解释。 – thegrinner