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)
会更清楚。
任何人都对此有好感吗?还是使用其他功能?
此问题在新版Numpy
中已经已解决。
genfromtxt
现在有一个名为max_rows
的新关键字,允许用户控制要读取的行数,参见here。
答案 0 :(得分:2)
您可以使用invalid_raise = False
跳过读取缺少某些数据的行。
E.g。
b = np.genfromtxt(a, delimiter=',', invalid_raise=False)
这会给你一个警告,但不会引发异常。