我有一个文件,其数据如下:
{day=20180711,stime_ms=187989.786,p=0.90},
{day=20180711,stime_ms=188004.036,p=0.95},
---成千上万个这样的字符串
我用python读取了此文件:
path="D:\_py\data.lua"
f = open(path)
for line in f.readlines():
print (line)
f.close()
我想在matplotlib中构建图表:
x轴-stime_ms
y轴-p
如果我有这样的数据,这对我来说很容易:
stime_ms=[187989.786, 188004.036]
p=[0.90, 0.95]
那么,如何从文件中获取数据? 谢谢
答案 0 :(得分:0)
您可以使用正则表达式模块re
来解析输入。
大致情况:
import re
data_re = re.compile(r"stime_ms=(?P<stime_ms>\d+\.\d+').*p=(?P<p>\d+\.\d+)")
stime_ms = []
p = []
with open('data.txt') as f:
for m in map(data_re.search, f):
if m:
stime_ms.append(float(m.group('stime_ms')))
p.append(float(m.group('p')))
else:
# report data parsing error