我很困惑我需要写一个python /任何脚本的方法,这需要处理以下情况。
我从服务器生成一个文本文件,其中包含列名,时间戳,服务器名称和列值
cpunumber 1437501780 l09fr01 40.0
cpunice 1437501780 l09fr01 0.0
cpusystem 1437501780 l09fr01 0.0
cpuwait 1437501780 l09fr01 0.0
cpuuser 1437501780 l09fr01 1.0
cpudile 1437501780 l09fr01 0.0
下面给出了我需要插入这些值的表格。加载ID是我在程序中唯一填充的东西。解析上述信息并将其加载到表中的最佳方法是什么?
CREATE TABLE `test`.`cpu_util_all` (
`loadid` INT NOT NULL,
`servername` VARCHAR(45) NOT NULL,
`date_time` DATETIME NOT NULL,
`cpu_number` DECIMAL(10,2) NULL,
`cpu_user` DECIMAL(10,2) NULL,
`cpu_nice` DECIMAL(10,2) NULL,
`cpu_system` DECIMAL(10,2) NULL,
`cpu_wait` DECIMAL(10,2) NULL,
`cpu_idle` DECIMAL(10,2) NULL,
PRIMARY KEY (`loadid`, `servername`, `date_time`,`cpu_user`));
答案 0 :(得分:1)
您可以使用pandas
来读取此类数据,并将其写入SQL
。
import pandas as pd
import sqlite3
## Tweak the options here to match the exact file format.
x = pd.read_table('test.txt')
## add column names (not necessary if the file has a header)
x.names = ['loadid','servername','date_time','cpu_number','cpu_nice','cpu_system','cpu_wait','cpu_idle']
## create SQL connection.
con = sqlite3.connect('test.db',)
## tweak the options here to get the keys and constraints.
x.to_sql('test', con)
您可以阅读有关使用pandas进行阅读和书写的更多信息here。