我正在尝试使用numpy.loadtxt加载数据...我试图读取的文件正在使用cp1252编码。有可能使用numpy将编码更改为cp1252吗?
以下
import numpy as np
n = 10
myfile = '/path/to/myfile'
mydata = np.loadtxt(myfile, skiprows = n)
给出:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf6 in position 189: invalid start byte
该文件包含元数据(前n行),后跟一个浮点表。
编辑:仅当在Ubuntu(12.04)上运行此问题时,才会出现此问题。在Windows上运行良好。因此,我认为此问题与编码有关。
Edit2:如下所示打开文件也很好:
import codecs
data = codecs.open(myfile, encoding='cp1252')
datalines = data.readlines()
但是我想使用np.loadtext直接将数据读入numpy数组。
我可以自己解决问题。
在用numpy读取文件之前,我只需要打开相应的文件即可:
import numpy as np
import codecs
n=10
filecp = codecs.open(myfile, encoding = 'cp1252')
mydata = np.loadtxt(filecp, skiprows = n)
谢谢大家!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句