Numpy loadtxt编码

2024-03-28 16:00:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用numpy.loadtxt加载数据。。。im试图读取的文件正在使用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)上运行时出现。在窗户上效果很好。因此我认为这个问题与编码有关。

Edit2:打开如下所示的文件也很好:

import codecs
data = codecs.open(myfile, encoding='cp1252')
datalines = data.readlines()

不过,我想使用np.loadtext直接将数据读入numpy数组。


Tags: 文件数据pathimportnumpy编码dataas
1条回答
网友
1楼 · 发布于 2024-03-28 16:00:48

我可以自己解决这个问题。

在用numpy读取文件之前,我只需要用适当的文件打开它:

import numpy as np
import codecs

n=10

filecp = codecs.open(myfile, encoding = 'cp1252')
mydata = np.loadtxt(filecp, skiprows = n)

谢谢大家!

相关问题 更多 >