【发布时间】:2014-11-13 13:01:23
【问题描述】:
genfromtxt 可以跳过页眉和页脚行并指定要使用的列。
但是如何控制要读取的行数?
有时一个 txt 文件可能包含几个不同形状的块。 例如,
a=StringIO('''
1,2,3
1,2,3
2,3
2,3
''')
genfromtxt(a,delimiter=',',skip_header=1)
这会引发错误,
ValueError: Some errors were detected !
Line #4 (got 2 columns instead of 3)
Line #5 (got 2 columns instead of 3)
当然,我可以这样做:
a=StringIO('''
1,2,3
1,2,3
2,3
2,3
''')
genfromtxt(a,delimiter=',',skip_header=1,skip_footer=2)
这很丑,因为我必须计算块下的行数。
但是我希望像
genfromtxt(a,delimiter=',',skip_header=1,nrows=2)
这样会更清楚。
有人对此有好的想法吗?还是使用其他功能?
2015 年 10 月更新
这个问题已经在Numpy的新版本中解决。
genfromtxt 现在有一个名为max_rows 的新关键字,可以控制要读取的行数,参见here。
【问题讨论】:
-
fromfile提供关键字count可以控制要阅读的项目数。然而fromfile在读取txt文件时不如genfromtxt或loadtxt灵活。
标签: numpy scipy genfromtxt