-1411.85 2.6888 -2.09945 -0.495947 0.835799 0.215353 0.695579
-1411.72 2.82683 -0.135555 0.928033 -0.196493 -0.183131 -0.865999
-1412.53 0.379297 -1.00048 -0.654541 -0.0906588 0.401206 0.44239
-1409.59 -0.0794765 -2.68794 -0.84847 0.931357 -0.31156 0.552622
-1401.63 -0.0235102 -1.05206 0.065747 -0.106863 -0.177157 -0.549252
....
....
然而,该文件是几GB,我非常希望在小块的行中读取它.我想使用numpy的loadtxt函数,因为这会将所有内容快速转换为numpy数组.但是,到目前为止,我还无法管理该函数似乎只提供了像这里的列选择:
data = np.loadtxt("test.dat", delimiter=" ", skiprows=1, usecols=range(1,7))
任何想法如何实现这一目标?如果使用loadtxt不可能在Python中提供任何其他选项?
解决方法:
如果你可以使用pandas,那会更容易:
In [2]: import pandas as pd
In [3]: df = pd.read_table("test.dat", delimiter=" ", skiprows=1, usecols=range(1,7), nrows=3, header=None)
In [4]: df.values
Out[4]:
array([[ 2.82683 , -0