这是我的问题,我想让所有等号在等号后出现,但我不知道如何处理。 我所有的数字都在文件中,我将此文件放在python列表中,因此我想在等号后获取数字。 示例:“平均帧频= 22.5566” 我想要22.5566浮点数。 感谢您的帮助。
这是用于脚本的脚本,它将计算文件.txt的帧速率值的平均值
我尝试过这个:
l = []
with open("floatnumber.txt", 'r') as f:
csv_f = csv.reader(f, delimiter=',')
for row in csv_f:
l.append(log(float(row[1])))
print (l)
但不起作用
我什么都没有..
我的.txt文件中有一块:
AnimatonPath completed in 0.0455575 seconds, completing 1 frames,
average frame rate = 21.9503
AnimatonPath completed in 0.0691637 seconds, completing 1 frames,
average frame rate = 14.4585'
我只想要等号后的浮点数
答案 0 :(得分:1)
您还可以使用正则表达式,这可能是解决问题的更强大的方法
with open("floatnumber.txt", 'r') as f:
csv_f = csv.reader(f, delimiter=',')
for row in csv_f:
results = re.findall("=\s*?(\d+\.\d+|\d+)", row[2])
l.append(log(float(results[0])))
print (l)
别忘了使用
import re
答案 1 :(得分:0)
使用split()
l = []
with open("floatnumber.txt", 'r') as f:
csv_f = csv.reader(f, delimiter=',')
for row in csv_f:
l.append(row.split('= ')[1])
print (l)
这将使用拆分中的第二个参数,换句话说,等号后面的内容。您可能还需要删除新行:
for row in csv_f:
l.append(row.split('= ')[1].strip('\n')