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实现正则匹配检索远端FTP目录下的文件
Mar 25 Python
使用rst2pdf实现将sphinx生成PDF
Jun 07 Python
python实现感知器算法详解
Dec 19 Python
Python tkinter事件高级用法实例
Jan 31 Python
基于pandas数据样本行列选取的方法
Apr 20 Python
使用Python和xlwt向Excel文件中写入中文的实例
Apr 21 Python
使用 Python 处理 JSON 格式的数据
Jul 22 Python
python mysql断开重连的实现方法
Jul 26 Python
利用Python检测URL状态
Jul 31 Python
在pandas中遍历DataFrame行的实现方法
Oct 23 Python
python实现滑雪者小游戏
Feb 22 Python
解决Python在导入文件时的FileNotFoundError问题
Apr 10 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
在b/s开发中经常用到的javaScript技术
2006/08/23 Javascript
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
Javascript中的五种数据类型详解
2014/12/26 Javascript
DOM基础教程之使用DOM + Css
2015/01/20 Javascript
举例讲解如何判断JavaScript中对象的类型
2016/04/22 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
bootstrap日历插件datetimepicker使用方法
2016/12/14 Javascript
微信小程序实现发红包功能
2018/07/11 Javascript
vue选项卡切换登录方式小案例
2019/09/27 Javascript
微信小程序加载机制及运行机制图解
2019/11/27 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
vue中touch和click共存的解决方式
2020/07/28 Javascript
[02:27]刀塔重生降临
2015/10/14 DOTA
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
2018/02/21 Python
pandas object格式转float64格式的方法
2018/04/10 Python
python hook监听事件详解
2018/10/25 Python
Python爬虫抓取技术的一些经验
2019/07/12 Python
python爬虫 线程池创建并获取文件代码实例
2019/09/28 Python
Python安装tar.gz格式文件方法详解
2020/01/19 Python
python常用运维脚本实例小结
2020/02/14 Python
Python之变量类型和if判断方式
2020/05/05 Python
容易被忽略的Python内置类型
2020/09/03 Python
浅谈html5增强的页面元素
2016/06/14 HTML / CSS
法国太阳镜店:Sunglasses Shop
2016/08/27 全球购物
中专毕业个人的自荐信格式
2013/09/21 职场文书
音乐表演专业毕业生求职信
2013/10/14 职场文书
中专生学习生活的自我评价分享
2013/10/27 职场文书
新学期班主任寄语
2014/01/18 职场文书
物理系毕业生自荐书范文
2014/02/22 职场文书
电子商务专业自荐信
2014/06/02 职场文书
原告离婚代理词
2015/05/23 职场文书
爱岗敬业事迹材料
2019/06/20 职场文书
python面向对象版学生信息管理系统
2021/06/24 Python
基于Python和openCV实现图像的全景拼接详细步骤
2021/10/05 Python
JavaScript阻止事件冒泡的方法
2021/12/06 Javascript
2022微信温控新功能上线
2022/05/09 数码科技