CSV 檔案批量匯入 資料庫 Pandas
阿新 • • 發佈:2022-04-21
Pandas
import pandas as pd from sqlalchemy import create_engine from sqlalchemy.engine import Engine import traceback import math class MSSQL: host = "10.251.21.1XXX" port = 3306 dbname = "AnyXXXX" user = "root" passwd = "AXXXXXX" def connect_AS_DB(): try: conn = create_engine ('mysql+pymysql://{user}:{password}@{host}:{port}/{dbname}'.format(user=MSSQL.user, password=MSSQL.passwd, host=MSSQL.host, port=int(MSSQL.port), dbname=MSSQL.dbname),echo = False) return conn except Exception as e: print("Connect to MSSQL exception:%s"% traceback.format_exc()) return None if __name__ == '__main__': #定義每次分割10行 lines=10 try: conn =connect_AS_DB() except Exception as E: print(E) df= pd.read_csv(r'C:\LocalTemp\Python 拆分大檔案\操作日誌.2022-4-9~2022-4-19.csv',iterator=False, error_bad_lines=True,encoding='utf-8',names=['DateTime', 'UserName', 'Catelog', 'Action', 'IP', 'Unknown','Record', 'Path', 'Client', 'obj_id'] ) # print(DataInfo_iterator["DateTime"]) for i in range(0, math.ceil(df.shape[0]/lines)): DataInfo = df.iloc[i*lines:(i+1)*lines] if conn: try: print(DataInfo["DateTime"]) print('*'*50+str(i)+'*'*50) # DataInfo.to_sql('ASLog', conn, if_exists="append", index=False) except Exception as e: print(e) else : print("connect to sql error")