2015-07-21 2 views
1

Я смущен тем, что мне нужно написать сценарий python/any, который должен быть рассмотрен ниже.Анализ текстовых данных и вставка в 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 

В таблице, что мне нужно вставить эти значения приводится ниже. Идентификатор загрузки - это то, что я буду заполнять однозначно внутри программы. Каков наилучший способ проанализировать приведенную выше информацию и загрузить ее в таблицу?

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.