Python 如何将文本文件读入np.array?
文本数据如下所示:Python 如何将文本文件读入np.array?,python,python-3.x,Python,Python 3.x,文本数据如下所示: a1 1 2 3 4 5 6 7 8 9 10 b2 2 3 4 5 6 7 8 9 10 11 c3 3 4 5 6 7 8 9 10 11 12 d4 4 5 6 7 8 9 10 11 12 13 e5 5 6 7 8 9 10 11 12 13 14 f6 6 7 8 9 10 11 12 13 14 15 g7 7 8 9 10 11
a1 1 2 3 4 5 6 7 8 9 10
b2 2 3 4 5 6 7 8 9 10 11
c3 3 4 5 6 7 8 9 10 11 12
d4 4 5 6 7 8 9 10 11 12 13
e5 5 6 7 8 9 10 11 12 13 14
f6 6 7 8 9 10 11 12 13 14 15
g7 7 8 9 10 11 12 13 14 15 16
h8 8 9 10 11 12 13 14 15 16 17
i9 9 10 11 12 13 14 15 16 17 18
j10 10 11 12 13 14 15 16 17 18 19
如果没有第一列,如何将此文本文件读入np.array第一列是每行的名称?非常感谢
另外,我尝试了np.loadtxtfilename,但Get无法将字符串转换为浮点:b'a'错误只要您知道列数,就可以工作
import numpy as np
b = []
with open('data.txt') as infile:
lines = infile.readlines()
for line in lines:
for n in line.split()[1:]:
b.append(int(n))
c = np.array(b)
>>> a = np.loadtxt("file_name", usecols=range(1,11), dtype=np.float32)
>>> a
array([[ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.],
[ 2., 3., 4., 5., 6., 7., 8., 9., 10., 11.],
[ 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.],
[ 4., 5., 6., 7., 8., 9., 10., 11., 12., 13.],
[ 5., 6., 7., 8., 9., 10., 11., 12., 13., 14.],
[ 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.],
[ 7., 8., 9., 10., 11., 12., 13., 14., 15., 16.],
[ 8., 9., 10., 11., 12., 13., 14., 15., 16., 17.],
[ 9., 10., 11., 12., 13., 14., 15., 16., 17., 18.],
[ 10., 11., 12., 13., 14., 15., 16., 17., 18., 19.]])
只要知道列的数量,就应该可以工作
>>> a = np.loadtxt("file_name", usecols=range(1,11), dtype=np.float32)
>>> a
array([[ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.],
[ 2., 3., 4., 5., 6., 7., 8., 9., 10., 11.],
[ 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.],
[ 4., 5., 6., 7., 8., 9., 10., 11., 12., 13.],
[ 5., 6., 7., 8., 9., 10., 11., 12., 13., 14.],
[ 6., 7., 8., 9., 10., 11., 12., 13., 14., 15.],
[ 7., 8., 9., 10., 11., 12., 13., 14., 15., 16.],
[ 8., 9., 10., 11., 12., 13., 14., 15., 16., 17.],
[ 9., 10., 11., 12., 13., 14., 15., 16., 17., 18.],
[ 10., 11., 12., 13., 14., 15., 16., 17., 18., 19.]])
你自己试过什么吗。?这似乎是谷歌可以帮助的you@ArpitSolanki是的,我找了好几种方法,但没有一种是你自己尝试过的。?这似乎是谷歌可以帮助的you@ArpitSolanki是的,我搜索并找到了几种方法,但没有一种是有效的——它只是一个评论和一个链接的答案。这是不可接受的。尝试在问题本身中包含重要的代码片段。@ApritSolnaki抱歉,答案无论如何都是错误的。我用一段代码更新了答案,但看起来Siddharth已经找到了一个更好的解决方案。我得到了一个以10为基数的int的错误无效文本:“OPEN”@user133140是否从每行中剥离第一个元素?如果问题是如何避免使用numpy来解决我的numpy问题,这将是一个很好的答案?这是一个注释和一个仅链接的答案。这是不可接受的。尝试在问题本身中包含重要的代码片段。@ApritSolnaki抱歉,答案无论如何都是错误的。我用一个代码片段更新了答案,但看起来Siddharth已经找到了更好的解决方案。我得到了一个以10为基数的int的错误invalid literal:“OPEN”@user133140是否从每行中剥离第一个元素?如果问题是如何避免使用numpy来解决我的numpy问题,这将是一个很好的答案?@user133140,如果您希望数据为int,您可以指定dtype=intI仍然存在错误,无法将字符串转换为float:b'OPEN'@user133140,那么您的文本文件中有更多内容,然后您向我们展示了这些内容。@user133140这只能表示您的文件与您在问题中所写的内容不同。我非常确定数据与我展示的内容相同,唯一的区别是,我的数据看起来像是在一个不可见的excel表中,这可能是原因吗?@user133140,如果您希望数据为int,您可以指定使用dtype=intI时,仍然无法将字符串转换为浮点:b'OPEN'@user133140然后您的文本文件中有更多内容,然后您向我们展示了。@user133140这只能意味着您的文件与您在问题中所写的不同我非常确定数据与我展示的一样,唯一的区别是,我的数据看起来像是存在于一个不可见的excel表中,这可能是原因吗?