我正在尝试处理存储在文本文件中的数据,它看起来像这样 test.dat
:
-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
中可用的选项吗?
使用numpy的genfromtxt读取每n行的最快方法
- hpaulj