下面是一个使用as400、sqlalchemy和pandas的示例。
这个例子需要一堆csv文件,并使用pandas/sqlalchemy插入。
仅适用于windows,在linux上i系列odbc驱动程序segfaults(Centos 7和Debian 9 x68_64)
客户端是Windows 10。
我的as400版本是7.3
Python是2.7.14
与pip一起安装:pandas、pyodbc、imb_db_sa、sqlalchemy
另外,@JohnY在pyodbc.py上的修改
C: \Python27\Lib\site packages\sqlalchemy\diactals\ibm_db_sa\pyodbc.py
将第99行更改为pyodbc_driver_name = "IBM i Access ODBC Driver"
odbc驱动程序更改了它的名称。#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pandas as pd
import numpy as np
from sqlalchemy import create_engine
import glob
csvfiles=(glob.glob("c:/Users/nahum/Documents/OUT/*.csv"))
df_csvfiles = pd.DataFrame(csvfiles)
for index, row in df_csvfiles.iterrows():
datastore2=pd.read_csv(str(row[0]), delimiter=',', header=[0],skipfooter=3)
engine = create_engine('ibm_db_sa+pyodbc://DB2_USER:PASSWORD@IP_SERVER/*local')
datastore2.to_sql('table', engine, schema='SCHEMA', chunksize=1000, if_exists='append', index=False)
希望有帮助。