在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行第4行。
例如,如果我打印t [0:3],则输出为:
060
0.01
024
它是否排出了它?如何将值1(06026104)输入表格行“sernr”,将value2(0.1501)输入表格行“peak”..
答案 0 :(得分:0)
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)
运作