【发布时间】:2021-09-04 22:43:33
【问题描述】:
我有一个程序在日志文件中查找某些值并将它们列出来。本质上,一个 50000 行文件的一行看起来像这样:
Step Elapsed Temp Press Volume TotEng KinEng PotEng E_mol E_pair Pxx Pyy Pzz Pxz Pxy Pyz
0 0 298 -93.542117 448382.78 -67392.894 17986.81 -85379.704 12349.955 -97729.659 -313.09273 44.936408 -12.47003 100.97953 -215.4029 254.07517
10 10 301.05619 -14.956923 448382.78 -66191.142 18171.277 -84362.419 12474.283 -96836.702 -56.794471 103.79453 -91.870824 300.09707 -27.638439 196.2738
进行搜索和追加的代码如下所示:
line=fp.readline()
while line:
line=fp.readline()
words = line.split()
if (words[0]=="Step"):
break
numcol = len(words)
header = words
data = numpy.zeros((numcol,100000))
ln = 0
while line:
line=fp.readline()
words=line.split()
if(words[0]=="Loop"):
break
for i in range(numcol):
data[i][ln]=(float(words[i]))
ln_original = ln
ln = ln +1
目前,我正在指定数组中的列数。我似乎无法弄清楚如何附加工作。关于我可以更改什么以便数组可以动态地用于各种长度的日志文件而不是在数组中指定类似 1,000,000 行的任何想法?
【问题讨论】:
标签: python arrays numpy append