将带有俄语字符的 numpy.ndarray 写入文件
Posted
技术标签:
【中文标题】将带有俄语字符的 numpy.ndarray 写入文件【英文标题】:Write numpy.ndarray with Russian characters to file 【发布时间】:2016-11-10 22:01:41 【问题描述】:我尝试将numpy.ndarray
写入文件。
我用
unique1 = np.unique(df['search_term'])
unique1 = unique1.tolist()
然后下一次尝试 1)
edf = pd.DataFrame()
edf['term'] = unique1
writer = pd.ExcelWriter(r'term.xlsx', engine='xlsxwriter')
edf.to_excel(writer)
writer.close()
和 2)
thefile = codecs.open('domain.txt', 'w', encoding='utf-8')
for item in unique:
thefile.write("%s\n" % item)
但都返回UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte
【问题讨论】:
你的意思是标题是用俄语字符写入numpy.ndarray到文件?目前,缺少一个u,这使得仅看标题很难理解你在问什么。 【参考方案1】:如果您将字符串编码为 utf8,则第二个示例应该可以工作。
以下在 Python2 中使用 utf8 编码文件工作:
# _*_ coding: utf-8
import pandas as pd
edf = pd.DataFrame()
edf['term'] = ['foo', 'bar', u'русском']
writer = pd.ExcelWriter(r'term.xlsx', engine='xlsxwriter')
edf.to_excel(writer)
writer.save()
输出:
【讨论】:
以上是关于将带有俄语字符的 numpy.ndarray 写入文件的主要内容,如果未能解决你的问题,请参考以下文章