Python 从带有正则表达式提取值的日志无法正确插入sqlite表

Python 从带有正则表达式提取值的日志无法正确插入sqlite表,python,regex,sqlite,iteration,Python,Regex,Sqlite,Iteration,在SQLite中存储提取的值时出现问题-如何寻址或索引值列表以正确插入表中 正则表达式可以很好地工作: 输入的日志数据如下所示: 0.0.0(06026104) 1.6.1(0.1501)(1011111000) 1.6.1*32(0.1446)(1010190800) 1.8.1(02484.825) 1.8.1*32(02449.574) 正确的正则表达式输出: 06026104 0.1501 02484.796 with open("usage.log") as fp: for lin

在SQLite中存储提取的值时出现问题-如何寻址或索引值列表以正确插入表中

正则表达式可以很好地工作:

输入的日志数据如下所示:

0.0.0(06026104)
1.6.1(0.1501)(1011111000)
1.6.1*32(0.1446)(1010190800)
1.8.1(02484.825)
1.8.1*32(02449.574)

正确的正则表达式输出:

06026104
0.1501
02484.796

with open("usage.log") as fp:
  for line in fp:
    match = re.match(r'(0\.0\.0|1\.6\.1|1\.8\.1)\(([0-9\.]+)', line)
    if not match: continue
    version, value = match.groups()
    mylist.append(value)
for item in mylist:
   t = (item)
   cursor.execute('INSERT INTO energielog(sernr) values (?)', [t])
   cursor.execute('INSERT INTO energielog(peak) values (?)', [t])
   cursor.execute('INSERT INTO energielog(kwh) values (?)', [t])
如何实现对SQLite的正确逐行读取

现在,每一行都错误地输入到表中:06026104位于第1行第1行、第2行第2行和第3行第3行。第二个值仅在第4行第1行和第5行第2行中,以此类推

例如,如果我让print t t[0:3],则输出为:

060
0.01
024

它把它弄成了一排吗?如何将值1(06026104)输入到表行“sernr”中,将值2(0.1501)输入到表行“peak”中


那就行了

请多解释一下你想做什么,你想让正则表达式匹配什么,等等。你的例子提供的信息很少。我对语法很马虎,尤其是缺少空格
for line in fp:
        match = re.search(r'(0\.0\.0|1\.6\.1|1\.8\.1)\(([0-9\.]+)', line)
        if match: 
            version,value = match.groups() 
            extrakt.append(value)
cursor.execute('INSERT INTO energielog (sernr, peak, kwh) values (?, ?, ?)', extrakt)