我的一个朋友需要阅读大量的数据(大约18000个数据集),这些数据都是格式化的。具体地说,数据应该是8列和大约8000行数据,但是数据以7列的形式传递,最后一个条目溢出到下一行的第一列。在
此外,每30行只有4列。这是因为一些上游程序正在将一个200 x 280阵列重塑为7x8120阵列。在
我的问题是:如何将数据读入8x7000数组。我平常的军火库np.loadtxt文件以及np.genfromtxt列数不均匀时失败。在
请记住,性能是一个因素,因为这必须为~18000个数据文件完成。在
以下是指向典型数据文件的链接: http://users-phys.au.dk/hha07/hk_L1.ref
这个怎么样?在
(假设文件是正在读入的文件) 然后你有一个列表列表,可以用来做任何事情。在
我想到了一种更简单的方法:
这将首先以一维数组的形式读取数据,完全忽略所有新行字符,然后将其重塑为所需的形状。在
虽然我认为任务无论如何都是I/O绑定的,但是如果重要的话,这种方法应该使用很少的处理器时间。在
如果我正确理解您(请参阅我的评论),您可以将您的输入拆分为标记,然后以八个不清晰的块进行处理:
这在我的电脑里运行不到0.2秒。在
编辑:使用@SvenMarnach的建议。在
相关问题 更多 >
编程相关推荐