如何从txt文件中提取不同行的两个单词之间的单词?

时间:2019-03-17 18:26:50

标签: python

我有一个.txt文件,其中包含几行,我想从每一行中提取特定的字词

示例:
 txt文件包含

  

A部分: 12 10 * 2 = 20
  B部分: 6 :4 * 5 = 20
  C部分: 5 3 * 10 = 30

我想将12提取为与不同变量类似的6和5
(冒号后的第一个数字或冒号后的两个空格之间的数字))

3 个答案:

答案 0 :(得分:2)

只需阅读文本,拆分,提取并存储在这样的数组中即可!

file=open("filename.txt","r+")    
fileText=file.read()
file.close()
linesArr=fileText.split('\n')
x=linesArr[0].split(': ')[1].split(' ')[0]
y=linesArr[1].split(': ')[1].split(' ')[0]
z=linesArr[2].split(': ')[1].split(' ')[0]
print(x)
print(y)
print(z)

答案 1 :(得分:1)

您还可以使用正则表达式从每行中选择第一个数字(在冒号和空格之后):

import re
with open("filename.txt") as file:   
    fileText = file.read()
x, y, z = [int(n) for n in re.findall(": (\d+)", fileText)]
print(x)
print(y)
print(z)

答案 2 :(得分:0)

您可以循环浏览文件的每一行,并按split的空格()循环,然后获取第三个元素(third element <=> index = 2),这是您想要的数字:< / p>

numbers = []

with open('file.txt', 'r') as f:
  for line in f:
    numbers.append(int(line.split()[2]))

print(numbers) # ==> [12, 6, 5]