国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python3讀取Excel數(shù)據(jù)存入MySQL的方法

2020-01-04 15:13:45
字體:
供稿:網(wǎng)友

Python是數(shù)據(jù)分析的強大利器。

利用Python做數(shù)據(jù)分析,第一步就是學(xué)習(xí)如何讀取日常工作中產(chǎn)生各種excel報表并存入數(shù)據(jù)中,方便后續(xù)數(shù)據(jù)處理。

這里向大家分享python3如何使用xlrd讀取excel,并使用Python3操作pymysql模塊將數(shù)據(jù)存入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的安裝這里就不詳細(xì)述說了,有需要的朋友自行百度

xlrd : 可以使用pip安裝也可手動下載源碼安裝,pip安裝:pip install xlrd

pymysql : 可以使用pip安裝也可手動下載源碼安裝, pip安裝: pip install xlrd

模塊

import xlrdimport pymysqlfrom datetime import datetimefrom 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)      //根據(jù)sheet索引獲取sheet的內(nèi)容table_two = data.sheet_by_index(1)

創(chuàng)建數(shù)據(jù)庫連接

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

gaishi123是mysql的root的密碼,sales_data是數(shù)據(jù)庫名

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))   # 票數(shù)   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))  # 轉(zhuǎn)化率   rate_paysuccess = float(table_two.cell_value(nrows_two, 3))  # 支付成功率   session_thanlastweek = float(table_two.cell_value(nrows_two, 4)) # 訪問量同比上周   break # 將數(shù)據(jù)存入數(shù)據(jù)庫 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() 方法創(chuàng)建一個游標(biāo)對象 cursor  cursor = db.cursor()  cursor.execute(sql) except Exception as e:  # 發(fā)生錯誤時回滾  db.rollback()  print(str(e)) else:  db.commit() # 事務(wù)提交  print('事務(wù)處理成功')

以上這篇Python3讀取Excel數(shù)據(jù)存入MySQL的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到python教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 龙山县| 邮箱| 十堰市| 自治县| 清水河县| 万载县| 阳新县| 寿阳县| 土默特右旗| 庄浪县| 开江县| 平和县| 朔州市| 高台县| 龙山县| 盐池县| 祁门县| 津南区| 西乌珠穆沁旗| 临潭县| 阜阳市| 古田县| 新龙县| 镶黄旗| 汝州市| 黄平县| 阜康市| 宁强县| 高台县| 六枝特区| 许昌县| 铁力市| 赤城县| 都安| 会东县| 芮城县| 绿春县| 新源县| 台安县| 文水县| 武邑县|