使用数据python读取文件

时间:2018-07-26 01:43:59

标签: python python-3.x file

我有一个文件,其数据如下:

{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]

那么,如何从文件中获取数据? 谢谢

1 个答案:

答案 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