数据测试001:利用python连接数据库插入excel数据
最近在做数据测试,主要是做报表系统,需要往数据库插入数据验证服务逻辑,本次介绍如何利用python脚本插入Oracle和Mysql库中;
1)Oracle部分
#coding=utf-8
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8' #这个很重要,不写会报错
import cx_Oracle
import pandas as pd
#连接oracle数据库
conn=cx_Oracle.connect("system","1234","localhost:1521/XE")
cn =conn.cursor()
#利用pandas类库读取excel数据
filepath=r'D:\data.xlsx'
data=pd.read_excel(filepath)
query="""insert into student values(:SNO,:SNAME,:SAGE,:SSEX)"""
#循环获取excel数据
for i in range(0, len(data)):
a = data.iloc[i,0]
b = data.iloc[i,1]
c = data.iloc[i,2]
d = data.iloc[i,3]
# print(a,b,c,d)
value = (str(a),str(b),int(c),str(d))
cn.execute(query, value)
cn.close()
#提交后才能在数据库查到
conn.commit()
conn.close()
2)Mysql部分
#coding=utf-8
import pymysql
import pandas as pd
#连接数据库
conn=pymysql.connect(
host='localhost',
user='root',
passwd='abc1234',
db='test'
)
cn=conn.cursor()
#利用pandas循环获取excel数据
filepath=r'D:\data.xlsx'
data=pd.read_excel(filepath)
query="""insert into infoss values(%s,%s,%s)"""
for i in range(0,len(data)):
a=data.iloc[i,0]
b=data.iloc[i,1]
c=data.iloc[i,2]
value=(int(a),str(b),int(c))
cn.execute(query,value)
cn.close()
conn.commit()
conn.close()
eg:新手测试,有问题大家可以多多交流。