python读取txt文件

python读取txt文件时出现UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: illegal multibyte sequence。
代码如下:
import numpy as np
f = open("D1.txt")
f.readline() # skip the header
data = np.loadtxt(f)
X = data[:, 1:]
y = data[:, 0]
数据前两行是这样的

1 -1.23804 -1.23586 1.343341 0.062672 -0.73307 1.832252 1.33741 0.449102 -0.30353 -1.29297 2.765073 0.4606 0.133644 -0.19592
-1 -0.44289 2.247071 -0.50318 0.062672 0.965893 -0.69936 -0.3178 -0.96317 -0.30353 -1.29297 -1.19081 0.4606 0.133644 -0.19592

求大神指导错在哪啊?

“'gbk' codec can't decode 。。。。。”是python 的编码问题。最好你把那个txt的文件先转换为utf8的格式,再进行读取,而且读取文件的那个py文件,文件的第一行加上 # -*- coding:utf-8 -*-
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-26

'gbk' codec can't decode .......”是python 的编码问题,解决办法如下:

    如果是linux系统,在py文件第一行加上 # -*- coding:utf-8 -*-;

    如果是Windows系统,在py文件第一行加上 # -*- coding:cp936 -*-;

    把txt的文件转换为utf8的格式,再进行读取。

第2个回答  2015-10-05
f = open("test.txt", "r")
while True:
line = f.readline()
if line:
pass # do something here
line=line.strip()
p=line.rfind('.')
filename=line[0:p]
print "create %s"%line
else:
break
f.cl<a href="https://www.baidu.com/s?wd=os&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLmH6sPhc1mH6LuyDLuyRs0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1RkrjTsn1b4PHbkrjRsPH6YPf" target="_blank" class="baidu-highlight">os</a>e()
相似回答