python - 如何最好地编辑 .txt 文件中的文本以与 mysql 一起使用

标签 python mysql linux shell

我正在运行一个 shell 脚本,该脚本从几个寄存器收集信息。它将数据转储到文本文件中,如下所示:(我已将要上传的信息以粗体显示)

日志.txt:

ID: 3498x39
Time: 12:24:08
Date: 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

或者有更简单的方法吗?

最佳答案

这假定格式是您指定的。因此,它假设任何错误输出都会发送到 stderr。

#!/usr/bin/env bash

output=""
read line # throw away the ID line
for ((i = 0; i != 9; ++i))
do
  read line
   formatted="$(echo "$line" | cut -d' ' -f2)"
  case $i in
    1) formatted="$(echo "$formatted" | sed 's#\(\d+/\d+\)/\(\d+\)#\2/\1#')"
       ;;
    *) ;;
  esac
  output="$output $formatted"
done
echo "$output"

使用问题中的内容作为输入运行上述内容。

bash-3.2$ ./test < input.txt
 12:24:08 06/07/2015 134 323 20 3 26 1284 

考虑到上面的代码只有 14 行,本来可以更短,而且花了大约 2 分钟来写,我想我一定没有回答你所问的问题。因为,如果这是您问题的答案,那么您问了一个糟糕的问题。

关于python - 如何最好地编辑 .txt 文件中的文本以与 mysql 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31255888/

相关文章:

python - 左内加入 Pandas

mysql - 将 XAMPP 重新安装到更高版本后表不存在

mysql - 如何使用 2 个条件将多行从一个表复制到另一个表

linux - 本地主机 :9000 takes too much time load in play framework

linux - 如何使用 mingw-w64 编译和链接 32 位 Windows 可执行文件

python - 需要在 VirtualEnv Session 中重置环境变量

python - 使用类继承时出现类型错误

php - mySQL结合表查询中的数据

linux - 批处理复杂任务图的监控/恢复

python - 在第二遍期间无法与对象交互