将带有俄语字符的 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 写入文件的主要内容,如果未能解决你的问题,请参考以下文章
TypeError:获取参数数组的类型无效 numpy.ndarray,必须是字符串或张量。 (不能将 ndarray 转换为张量或操作。)
带有 ColumnTransformer 的 SKLearn 管道:'numpy.ndarray' 对象没有属性'lower'
带有俄语语言的 Grails 2.4 中的 UTF-8 问题
如何在 Python3 中解码编码文字/字符串的 numpy 数组? AttributeError:“numpy.ndarray”对象没有属性“解码”