python pandas를 이용해서 mariadb의 쿼리 결과값을 다른 table로 저장이 가능하다.
샘플로 perfomance_log 테이블의 4개 컬럼 1,000,000를 불러와서 새로운 테이블로 저장해보겠다.
sys_processortime
sys_mem_availablembytes
sys_net_revbytes_sec
sys_net_sendbytes
import pandas as pd
import pymysql
from sqlalchemy import create_engine
conn = pymysql.connect(host='host', user='user', password='password' ,db='db', charset='utf8')
query = 'select sys_processortime, sys_mem_availablembytes, sys_net_revbytes_sec, sys_net_sendbytes_sec from perfomance_log limit 1000000'
df = pd.read_sql_query(query,conn)
print(df)
pymysql.install_as_MySQLdb()
engine = create_engine("mysql://user:password@host/db")
df.to_sql(name='new_perfomance_log', con=engine, if_exists='append', index=False)
# if_exists='append' : table 존재시 데이터만 추가
# index=False : index 값 넣지 않기
-----------------------------------------------------------------------------------
'''
sys_processortime ... sys_net_sendbytes_sec
0 2.08 ... 368969.00
1 4.04 ... 384656.00
2 0.52 ... 19031.00
3 6.12 ... 376019.00
4 2.08 ... 2113.49
... ... ... ...
999995 1.95 ... 1722950.00
999996 0.39 ... 514143.00
999997 0.78 ... 662456.00
999998 1.17 ... 202079.00
999999 0.78 ... 298220.00
[1000000 rows x 4 columns]
'''
새로운 테이블에 정상적으로 데이터가 정상적으로 추가되었다.
'Python > Python For Analytics' 카테고리의 다른 글
[Python] Pandas DataFrame 컬럼명 특정 문자로 변경 (0) | 2019.09.25 |
---|---|
[Python] pandas datetime 타입 시간/주/일 더하기 (0) | 2019.09.06 |
[Python] list data type pandas의 DataFrame 만들기 (0) | 2019.09.04 |
[Python] pandas를 이용한 IIS log 파싱 (0) | 2019.08.30 |
[Python] sqlite3 DB output to pandas dataframe. (sqlite3 db 퀄리결과 pandas dataframe 만들기) (0) | 2019.08.12 |
[Python] dataframe of pandas returns mysql / Maria DB result (0) | 2019.08.08 |
[Python] Retrieving data from all sheets of Excel file using openpyxl and pandas (0) | 2018.06.10 |
CSV 샘플 데이터 제공 사이트 (0) | 2018.05.07 |