这是我的第一篇文章,尽管我已经读了一段时间了。 我是Python初学者,需要你的帮助。 我正在处理一个非常大的文件(超过200万行),但我将向您展示一个小得多的示例(24行而不是74513行)。假设我有24行,每行有一个浮点数,在同一行上有3个数字,然后是24行,每行有3个数字,以此类推29次。你知道吗
56.71739
56.67950
56.65762
56.63320
56.61648
56.60323
56.63215
56.74365
56.98378
57.34681
57.78903
58.27959
58.81514
59.38853
59.98271
60.58515
-1.00000
56.09566
56.05496
56.02777
56.00158
55.98341
55.96830
55.99615
1 1 1
56.34692
56.70977
57.15187
57.64234
58.17782
58.75118
59.34534
59.94779
-1.00000
55.47366
55.42963
55.39739
55.36958
55.35020
55.33404
55.36098
55.47148
55.71110
56.07384
56.51588
57.00632
57.54180
58.11517
58.70937
2 1 1
使用前24行创建数组非常容易:
import numpy
def ttarray_tms (traveltimes):
'''It defines the 3-D array, organized as I want.'''
with open (traveltimes, 'r') as file_in:
newarray = file_in.readlines()
ttarray = np.array(newarray)
ttarray.shape = (2,3,4)
ttarray = np.swapaxes(ttarray,1,2)
ttarray = np.swapaxes(ttarray,0,2)
return ttarray
请注意:每个数字之间没有空行。这是一个简单的冒号向量文件。不知什么原因,我不得不这样发帖。 我想要的是基本上得到29个数组,所以我应该在24行上循环得到一个数组,然后在接下来的24行上再次循环(用3个数字跳行,我真的不需要它们)得到另一个数组,以此类推。我认为我的主要问题是如何跳过3个数字的行,然后重新开始一个新数组的新循环。你知道吗
你有什么好主意吗?你知道吗
非常感谢!你知道吗
你可以用^{} 读一行24次,然后用另一行
readline()
跳过一行,以此类推。你知道吗使用您的代码:
未测试。你知道吗
三个集合行中的数字遵循递增模式。那么,为什么不把最后两个数字放在两个变量中,然后如果这三个数字对应于这个模式,就把它们去掉,然后继续呢?这是一种滑动窗口方法。你知道吗
相关问题 更多 >
编程相关推荐