【发布时间】:2015-07-06 21:24:19
【问题描述】:
我正在运行一个从少数寄存器收集信息的 shell 脚本。它将数据转储到文本文件中,如下所示:(我已将要上传的信息以粗体显示)
log.txt:
ID:3498x39
时间:12:24:08
日期:06/07/2015
4115 134 (0x86)
4116 323 (0x143)
4117 20 (0x14)
4118 3 (0x3)
4119 26 (0x1A)
4120 1284 (0x504)
然后在 10 分钟后再次重复下一批数据。
我现在想做的是在收集到这些信息后用这些信息更新一个 MySQL 数据库。是否需要一个 python 程序来格式化数据,我认为是这样的:
12:24:08 2015/06/07 134 323 20 3 26 1284
或者有没有更简单的方法?
【问题讨论】:
-
我不清楚你想问什么,在这里。你的意思是你有一个带有日期时间字段的mysql表,每个寄存器值都有一个单独的字段(所以,你有一个7列的表;1个日期时间后跟6个整数),你想插入那个桌子?或者您的意思是您只是想将上面的多行字符串转换为下面的格式,以便您可以将该字符串放入 mysql db 中?因为,如果是后者,即使在 bash 中也是微不足道的。见鬼,在 bash 中做后者甚至可能是微不足道的,这取决于数据源是否可信。
-
可以使用带有
cut -d' ' -f2的简单for循环将字符串简单地转换为合理的格式。 -
也许您可以使用带有 pythons re 模块的正则表达式来匹配然后重新格式化数据。虽然你也可以使用 shell 脚本来做到这一点。