python导入mysql数据库execl表_python将Excel文件内容导入Mysql数据

为了方便起见,将所有字段类型设置为str,理解mysql的语法这个玩意贼简单

# _*_ coding:utf-8 _*_

import pandas as pd #先装个pandas ,pip install pandas

import pymysql

#读入数据库

filename='F:\pycharm\sales.xls' #本地需要导入数据库的文件

data=pd.read_excel(filename)

#建立数据库连接

db=pymysql.connect('10.1.9.176','root','123456','python_excel')

cursor=db.cursor()

#判断数据表是否存在

try:

cursor.execute('create table sales( ORGCODE varchar(20),ORGNAME varchar(100),SHIPPINGTOTAL varchar(100),BOXTOTAL varchar(100),YHTOTAL varchar(100),YSTOTAL varchar(100),PAYTOTAL varchar(100),PLATFORMSERVICETOTAL varchar(100),PLATFORMYHTOTAL varchar(100),MERCHANTYHTOTAL varchar(100),PLUTOTAL varchar(100), MINDELIVERYAMOUNT varchar(100),SSTOTAL varchar(100),ORDERDATE varchar(100),FINISHDATE varchar(100), ORDERNO varchar(100), PLATFORM varchar(100),STATUS varchar(100))')

except:

print('已存在的表')

query = 'insert into sales(ORGCODE,ORGNAME,SHIPPINGTOTAL ,BOXTOTAL ,YHTOTAL ,YSTOTAL ,PAYTOTAL ,PLATFORMSERVICETOTAL ,PLATFORMYHTOTAL ,MERCHANTYHTOTAL ,PLUTOTAL , MINDELIVERYAMOUNT,SSTOTAL,ORDERDATE ,FINISHDATE , ORDERNO , PLATFORM ,STATUS) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)'

for i in range(0,len(data)):

ORGCODE=data.iloc[i,0]#不清楚iloc可以百度下iloc的用法

ORGNAME=data.iloc[i,1]

SHIPPINGTOTAL=data.iloc[i,2]

BOXTOTAL=data.iloc[i,3]

YHTOTAL=data.iloc[i,4]

YSTOTAL=data.iloc[i,5]

PAYTOTAL=data.iloc[i,6]

PLATFORMSERVICETOTAL=data.iloc[i,7]

PLATFORMYHTOTAL=data.iloc[i,8]

MERCHANTYHTOTAL=data.iloc[i,9]

PLUTOTAL=data.iloc[i,10]

MINDELIVERYAMOUNT=data.iloc[i,11]

SSTOTAL=data.iloc[i,12]

ORDERDATE=data.iloc[i,13]

FINISHDATE=data.iloc[i,14]

ORDERNO=data.iloc[i,15]

PLATFORM=data.iloc[i,16]

STATUS=data.iloc[i,17]

values = (str(ORGCODE),str(ORGNAME),str(SHIPPINGTOTAL),str(BOXTOTAL),str(YHTOTAL) ,str(YSTOTAL) ,str(PAYTOTAL) ,str(PLATFORMSERVICETOTAL) ,str(PLATFORMYHTOTAL) ,str(MERCHANTYHTOTAL) ,str(PLUTOTAL) ,str(MINDELIVERYAMOUNT),str(SSTOTAL),str(ORDERDATE) ,str(FINISHDATE) ,str(ORDERNO) , str(PLATFORM) ,str(STATUS))

cursor.execute(query,values)

cursor.close()

db.commit()

print("数据导入成功")

db.close()

如图提示数据导入成功

查询数据(截图不全)

用Navicat会有乱码,不知道什么原因,以后在慢慢研究吧

搞完以后发现贼鸡儿简单啊

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值