问题是从文本文件中的一堆垃圾中提取数据。例如,首先,我需要从文本文件中提取这个特定部分:
%T 525 1:0.00:6425.12 2:0.01:6231.12 3:0.00:3234.51 并且持续了很长时间。
然后,我需要专门从每个短语中提取第三个数据,即 6425.12、6231.12 和 3234.51,并将其写入一个新的文本文件,然后对这些数据进行其他编辑。
我正在考虑在这种情况下使用正则表达式。任何人都可以显示示例代码吗?对于经验丰富的程序员来说应该是相当直截了当的。
问题是从文本文件中的一堆垃圾中提取数据。例如,首先,我需要从文本文件中提取这个特定部分:
%T 525 1:0.00:6425.12 2:0.01:6231.12 3:0.00:3234.51 并且持续了很长时间。
然后,我需要专门从每个短语中提取第三个数据,即 6425.12、6231.12 和 3234.51,并将其写入一个新的文本文件,然后对这些数据进行其他编辑。
我正在考虑在这种情况下使用正则表达式。任何人都可以显示示例代码吗?对于经验丰富的程序员来说应该是相当直截了当的。
你不需要re
得到数字...
s='%T 525 1:0.00:6425.12 2:0.01:6231.12 3:0.00:3234.51'
columns=s.split()[2:] #Create a list of all the columns except the first 2.
numbers=[c.split(':')[-1] for c in columns] #Split each column on ':' and take the last piece.
但是,我们需要更多关于文件结构的信息,然后才能确定如何首先挑选出字符串s
。
我不认为我会为此求助于正则表达式,看起来很简单。
with open(...) as file:
for line in file:
for word in line.split():
if ':' in word:
print word.split(':')[2] # do something with it here