我使用的开发工具是vscode。
首先导入所需要的包:
import pandas as pd
import numpy as np
import ibm_db
import datetime
第一步我们首先读取两个csv,使用pandas
#读取两个csv进行拼接
df1 = pd.read_csv('input_data_1.csv')
df2 = pd.read_csv('input_data_2.csv')
df = df1.append(df2)
#对数据进行清洗,将nan替换为sql能够识别的0.0
df = df.replace(np.nan,0.0, regex=True)
这里注意我们打开的文件是放置在vscode打开的文件夹中,可以不需要指定文件位置。
经过第一步,我们获得了一个df。
然后我们创建一个sql语句:
insertsql = "insert into aaaa (id,name,property,desc) values "
遍历df,将属性值拼接在sql语句中
for index,row in df.iterrows():
insertsql += ('(' + str(row['id'])+','+'\''+row['name']+'\''+','+str(row['property'])+','+'\''+row['desc']+'\''+')'+',')
insertsql = insertsql[:-1]
最后一句是为了将循环添加的逗号删除。
这样我们获得了一个存有df中所有数据的sql语句,下一步定义一个sql操作函数,执行这个sql语句。
# sql执行函数,执行结束后返回success
def excuteInsert(insertsql):
ibm_db.exec_immediate(conn,insertsql)
return 'insert succ