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生成pdf文件的方法
Aug 04 Python
python基础教程之序列详解
Aug 29 Python
Python 抓取动态网页内容方案详解
Dec 25 Python
Python内置函数Type()函数一个有趣的用法
Feb 18 Python
python中字典(Dictionary)用法实例详解
May 30 Python
python基础_文件操作实现全文或单行替换的方法
Sep 04 Python
Python异常处理操作实例详解
May 10 Python
Python实现获取邮箱内容并解析的方法示例
Jun 16 Python
Python实现的建造者模式示例
Aug 06 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
Jul 23 Python
python中struct模块之字节型数据的处理方法
Aug 27 Python
Python叠加矩形框图层2种方法及效果
Jun 18 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
Yii框架中memcache用法实例
2014/12/03 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
2015/05/13 PHP
Yii2.0高级框架数据库增删改查的一些操作
2015/11/16 PHP
php session 写入数据库
2016/02/13 PHP
php关闭warning问题的解决方法
2016/05/17 PHP
Laravel多域名下字段验证的方法
2019/04/04 PHP
js 获取中文拼音,Select自动匹配字母获取值的代码
2009/09/23 Javascript
jquery实现图片渐变切换兼容ie6/Chrome/Firefox
2013/08/02 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
jQuery DOM操作实例
2014/03/05 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
2014/04/03 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
2014/06/23 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
2016/11/25 Javascript
学习vue.js条件渲染
2016/12/03 Javascript
微信小程序  checkbox组件详解及简单实例
2017/01/10 Javascript
在ABP框架中使用BootstrapTable组件的方法
2017/07/31 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
详解JS数值Number类型
2018/02/07 Javascript
Vue包大小优化的实现(从1.72M到94K)
2021/02/18 Vue.js
python设置windows桌面壁纸的实现代码
2013/01/28 Python
在Python中操作字符串之startswith()方法的使用
2015/05/20 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
2018/09/19 Python
解决pyinstaller打包pyqt5的问题
2019/01/08 Python
Python 寻找局部最高点的实现
2019/12/05 Python
python的列表List求均值和中位数实例
2020/03/03 Python
matplotlib之属性组合包(cycler)的使用
2021/02/24 Python
英国最受欢迎的在线隐形眼镜商店:VisionDirect.co.uk
2018/12/06 全球购物
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
面试后感谢信
2014/02/01 职场文书
产品生产计划书
2014/05/07 职场文书
2015年挂职锻炼工作总结
2014/12/12 职场文书
社会实践活动报告
2015/02/05 职场文书
爱国主义影片观后感
2015/06/18 职场文书
2016新年年会主持词
2015/07/06 职场文书
如何利用Matlab制作一款真正的拼图小游戏
2021/05/11 Python