Python numpy的loadtxt和windows路径?

时间:2017-10-31 16:03:02

标签: python numpy

我想使用numpy的loadtxt命令,所以我尝试了这个:

lines = loadtxt("D:/My Desktop/Enwate syllables.txt", comments="#", delimiter=",", unpack=False)

但是这很难用“无法将字符串转换为浮点数:b'\ xef \ xbb \ xbfen'”

我确实尝试了

f = open("D:/My Desktop/Enwate syllables.txt")

并且工作正常。我对loadtxt做错了什么?

PS。这不是编码问题,因为如上所示,“open”命令可以很好地处理它,我得到了文本行和所有内容。顺便说一句,该文件是一个简单的ascii文本文件,每行有一个单词。

1 个答案:

答案 0 :(得分:0)

您需要事先提及dtype,以便numpy可以分配它 例如

from io import StringIO 
j= StringIO(u'c 1\nd 2')
np.loadtxt(j)

ValueError: could not convert string to float: c

失败

但是

np.loadtxt(j,dtype={'names': ('char', 'num'),'formats': ('S1', 'i4')})

完美无缺。

因此,如果您的文本文件同时具有数字数据类型和字符数据类型,则需要使用dtype

提及其格式

PS - 如果你尝试只有数值loadtxt的文件不会失败,所以我猜它的主数据类型是浮点数,如果你的文件有字符串,那么你需要使用dtype作为根据您的字段输入