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中使用dict和set方法的教程
Apr 27 Python
用Python下载一个网页保存为本地的HTML文件实例
May 21 Python
Python 给某个文件名添加时间戳的方法
Oct 16 Python
Python装饰器语法糖
Jan 02 Python
python处理DICOM并计算三维模型体积
Feb 26 Python
Python中的 is 和 == 以及字符串驻留机制详解
Jun 28 Python
关于Python中定制类的比较运算实例
Dec 19 Python
基于python实现微信好友数据分析(简单)
Feb 16 Python
django 解决model中类写不到数据库中,数据库无此字段的问题
May 20 Python
浅谈keras 的抽象后端(from keras import backend as K)
Jun 16 Python
python爬虫多次请求超时的几种重试方法(6种)
Dec 01 Python
详解Python+OpenCV绘制灰度直方图
Mar 22 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
自制汽车收音机天线:收听广播的技巧和方法
2021/03/02 无线电
PHP中GET变量的使用
2006/10/09 PHP
PHP微信开发之二维码生成类
2015/06/26 PHP
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
2016/11/22 PHP
PHP实现的简单异常处理类示例
2017/05/04 PHP
Save a File Using a File Save Dialog Box
2007/06/18 Javascript
jquery tab标签页的制作
2010/05/10 Javascript
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
2012/08/22 Javascript
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
js身份证判断方法支持15位和18位
2014/03/18 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
javascript实现简单加载随机色方块
2015/12/25 Javascript
javascript表单事件处理方法详解
2016/05/15 Javascript
jQuery 获取屏幕高度、宽度的简单实现案例
2016/05/17 Javascript
jquery文字填写自动高度的实现方法
2016/11/07 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
2017/03/24 jQuery
浅谈vue中.vue文件解析流程
2018/04/24 Javascript
微信小程序进入广告实现代码实例
2019/09/19 Javascript
[57:38]2018DOTA2亚洲邀请赛3月30日 小组赛A组 OpTic VS OG
2018/03/31 DOTA
仅用50行代码实现一个Python编写的计算器的教程
2015/04/17 Python
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
2016/04/12 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
2019/07/04 Python
Django工程的分层结构详解
2019/07/18 Python
Python实现图片识别加翻译功能
2019/12/26 Python
Pytorch GPU显存充足却显示out of memory的解决方式
2020/01/13 Python
python画图常规设置方式
2020/03/05 Python
matplotlib基础绘图命令之errorbar的使用
2020/08/13 Python
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
配置管理计划的主要内容有哪些
2014/06/20 面试题
大学生就业推荐信范文
2013/11/29 职场文书
工作作风承诺书
2014/08/30 职场文书
2014最新自愿离婚协议书范本
2014/11/19 职场文书
世界卫生日宣传活动总结
2015/02/09 职场文书
2015年实习生工作总结报告
2015/04/28 职场文书
旅游投诉信范文
2015/07/02 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书