sql读取excel数据_Python 读取 Excel 数据,并插入到MySQL
生活随笔
收集整理的這篇文章主要介紹了
sql读取excel数据_Python 读取 Excel 数据,并插入到MySQL
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
說實(shí)話,個(gè)人不建議用Python來讀取Excel進(jìn)行入庫操作,有條件的話,可以嘗試用 ETL 工具,快速導(dǎo)入到MySQL中,或者也可使用 SQL 的導(dǎo)入工具進(jìn)行。
寫本文的目的在于:記錄一下之前做過一次這個(gè)同類型的東西。也為后面的同期群分析做一個(gè)數(shù)據(jù)準(zhǔn)備。
數(shù)據(jù)情況,請(qǐng)自行建表!本文所涉及的數(shù)據(jù),詳見百度云網(wǎng)盤鏈接:
鏈接:https://pan.baidu.com/s/1_CTwkdzFbXNH9iZPoYm2bw
提取碼:maz8
Python 代碼如下:
import pymysql,xlrd from datetime import datetime""" 目標(biāo):Python 讀取本地 Excel 文件,插入到 MySQL """# 1、讀取本地 Excel 數(shù)據(jù)集 book = xlrd.open_workbook("同期群.xlsx") sheet = book.sheet_by_name('Sheet1') print("數(shù)據(jù)行數(shù):",sheet.nrows,"---","數(shù)據(jù)列數(shù):",sheet.ncols)# 2、連接數(shù)據(jù)庫,創(chuàng)建游標(biāo),創(chuàng)建插入語句 db = pymysql.connect(host='localhost', user='root', password='123456', port=3306, db='zhihu') cursor = db.cursor() sql = f"INSERT INTO tongqiqun (nick_name,pay_time,order_status,pay_amount,purchase_quantity,province) VALUES (%s,%s,%s,%s,%s,%s)"def insert_info():# 3、 for 循環(huán)迭代讀取xls文件每行數(shù)據(jù),跳過標(biāo)題,從第二行開始for r in range(1, sheet.nrows):nick_name = sheet.cell(r, 0).value # 用戶昵稱# 支付時(shí)間 處理# pay_time = sheet.cell(r, 1).value # 會(huì)報(bào)錯(cuò)!try:pay_time = xlrd.xldate_as_tuple(sheet.cell(r, 1).value, 0) # 轉(zhuǎn)成元組格式pay_time = datetime(*pay_time) # * 作用:當(dāng)作位置參數(shù),傳參!except:pay_time = Noneorder_status = sheet.cell(r, 2).value # 訂單狀態(tài)pay_amount = sheet.cell(r, 3).value # 支付金額purchase_quantity = int(sheet.cell(r, 4).value) # 購買數(shù)量province = sheet.cell(r, 5).value # 省份# 4、組裝數(shù)據(jù)(元組格式),執(zhí)行sqldata = (nick_name,pay_time,order_status,pay_amount,purchase_quantity,province)cursor.execute(sql,data)return Noneinsert_info()總結(jié)
以上是生活随笔為你收集整理的sql读取excel数据_Python 读取 Excel 数据,并插入到MySQL的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一些常规形几何形状的绘制和效果填充(一)
- 下一篇: django mysql 过滤所有id_