Python3读取Excel数据存入MySQL的方法


Posted in Python onMay 04, 2018

Python是数据分析的强大利器。

利用Python做数据分析,第一步就是学习如何读取日常工作中产生各种excel报表并存入数据中,方便后续数据处理。

这里向大家分享python3如何使用xlrd读取excel,并使用Python3操作pymysql模块将数据存入Mysql中,有需要的朋友们一起来看看吧。

前言

pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。

python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。

版本

python >= 3.6

mysql >= 5.7.19

安装

python、mysql的安装这里就不详细述说了,有需要的朋友自行百度

xlrd : 可以使用pip安装也可手动下载源码安装,pip安装:pip install xlrd

pymysql : 可以使用pip安装也可手动下载源码安装, pip安装: pip install xlrd

模块

import xlrd
import pymysql
from datetime import datetime
from xlrd import xldate_as_tuple

读取excel

data = xlrd.open_workbook("D:/sales_data.xls") //读取D盘中名为sales_data的excel表格
table_one = data.sheet_by_index(0)      //根据sheet索引获取sheet的内容
table_two = data.sheet_by_index(1)

创建数据库连接

db = pymysql.connect("localhost", "root", "gaishi123", "sales_data", use_unicode=True, charset="utf8")

gaishi123是mysql的root的密码,sales_data是数据库名

for site in sites:
 # 遍历sheet1
 for nrows_one in range(1, int(table_one.nrows)):
  if table_one.cell_value(nrows_one, 0) == site:
   payday = table_one.cell_value(0, 8)
   date = datetime(*xldate_as_tuple(payday, 0))
   payday = date.strftime('%Y/%m/%d')         # 出票日期
   sales = float(table_one.cell_value(nrows_one, 1))     # 销量
   quantity_ticket = int(table_one.cell_value(nrows_one, 2))   # 票数
   rate_electronic = float(table_one.cell_value(nrows_one, 3))  # 电子直销占比
   sales_thanlastweek = float(table_one.cell_value(nrows_one, 4))  # 销量同比上周
   sales_thanlastyear = float(table_one.cell_value(nrows_one, 5))  # 销量同比去年
   break
 # 遍历sheet2
 for nrows_two in range(1, int(table_two.nrows)):
  if table_one.cell_value(nrows_two, 0) == site:
   session = int(table_two.cell_value(nrows_two, 1))     # 访问量
   rate_conversion = float(table_two.cell_value(nrows_two, 2))  # 转化率
   rate_paysuccess = float(table_two.cell_value(nrows_two, 3))  # 支付成功率
   session_thanlastweek = float(table_two.cell_value(nrows_two, 4)) # 访问量同比上周
   break
 # 将数据存入数据库
 sql = "insert into sales_data(SITE, PAYDAY, SALES, QUANTITY_TICKET, RATE_ELECTRONIC, SALES_THANLASTWEEK," \
   "SALES_THANLASTYEAR, SESSION, SESSION_THANLASTWEEK, RATE_CONVERSION, RATE_PAYSUCCESS)" \
   " values ('%s','%s', %f, %d, %f, %f, %f, %d, %f, %f, %f)" %\
   (site, payday, sales, quantity_ticket, rate_electronic, sales_thanlastweek, sales_thanlastyear,
   session, session_thanlastweek, rate_conversion, rate_paysuccess)
 try:
  # 使用 cursor() 方法创建一个游标对象 cursor
  cursor = db.cursor()
  cursor.execute(sql)
 except Exception as e:
  # 发生错误时回滚
  db.rollback()
  print(str(e))
 else:
  db.commit() # 事务提交
  print('事务处理成功')

以上这篇Python3读取Excel数据存入MySQL的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现复制整个目录的方法
May 12 Python
Python登录并获取CSDN博客所有文章列表代码实例
Dec 28 Python
python删除某个字符
Mar 19 Python
python抽取指定url页面的title方法
May 11 Python
python绘制立方体的方法
Jul 02 Python
对Tensorflow中的变量初始化函数详解
Jul 27 Python
Python设计模式之职责链模式原理与用法实例分析
Jan 11 Python
pandas中DataFrame修改index、columns名的方法示例
Aug 02 Python
使用python实现希尔、计数、基数基础排序的代码
Dec 25 Python
用Python制作音乐海报
Jan 26 Python
python编写五子棋游戏
May 25 Python
Python+DeOldify实现老照片上色功能
Jun 21 Python
详解Django之admin组件的使用和源码剖析
May 04 #Python
Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
May 04 #Python
使用python3+xlrd解析Excel的实例
May 04 #Python
对python中的xlsxwriter库简单分析
May 04 #Python
使用实现XlsxWriter创建Excel文件并编辑
May 04 #Python
Python实现获取前100组勾股数的方法示例
May 04 #Python
python XlsxWriter模块创建aexcel表格的实例讲解
May 03 #Python
You might like
解析dedecms空间迁移步骤详解
2013/05/15 PHP
一个好用的PHP验证码类实例分享
2013/12/27 PHP
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
2014/12/09 PHP
php实现计算百度地图坐标之间距离的方法
2016/05/05 PHP
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
2010/12/28 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
js多级树形弹出一个小窗口层(非常好用)实例代码
2013/03/19 Javascript
jQuery html()方法使用不了无法显示内容的问题
2014/08/06 Javascript
JavaScript函数定义的常见注意事项小结
2014/09/16 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
2015/12/31 Javascript
基于jQuery实现返回顶部实例代码
2016/01/01 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
vue自定v-model实现表单数据双向绑定问题
2018/09/03 Javascript
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
JS实现选项卡效果的代码实例
2019/05/20 Javascript
原生js实现3D轮播图
2020/03/21 Javascript
解决vant-UI库修改样式无效的问题
2020/11/03 Javascript
[02:16]卖萌的僵尸 DOTA2神话信使飞僵小宝来袭
2014/03/24 DOTA
python执行子进程实现进程间通信的方法
2015/06/02 Python
Python实现的凯撒密码算法示例
2018/04/12 Python
用python 实现在不确定行数情况下多行输入方法
2019/01/28 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
pandas实现将日期转换成timestamp
2019/12/07 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
2020/01/25 Python
Python实现简单的猜单词小游戏
2020/10/28 Python
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
诺心蛋糕官网:LE CAKE
2018/08/25 全球购物
吉列剃须刀英国官网:Gillette英国
2019/03/28 全球购物
俄罗斯运动、健康和美容产品在线商店:Lactomin.ru
2020/07/23 全球购物
艺术系应届生的自我评价
2013/10/19 职场文书
四年级评语大全
2014/04/21 职场文书
婚前保证书
2014/04/29 职场文书
反邪教观后感
2015/06/11 职场文书
新学期开学寄语2016
2015/12/04 职场文书
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL