2015-07-21 43 views
1

我很困惑我需要编写一个python /任何脚本,这需要处理以下情况的方法。解析文本数据并在MySQL中插入

我产生从服务器列名,时间戳,服务器名和列值

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`)); 

回答

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) 

你可以阅读更多关于使用熊猫阅读和写作here

相关问题