欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python利用pymysql和openpyxl實現(xiàn)操作MySQL數(shù)據(jù)庫并插入數(shù)據(jù)

 更新時間:2023年10月30日 07:40:12   作者:qwerrt9  
這篇文章主要為大家詳細介紹了如何使用Python連接MySQL數(shù)據(jù)庫,并從Excel文件中讀取數(shù)據(jù),將其插入到MySQL數(shù)據(jù)庫中,有需要的小伙伴可以參考一下

1. 需求分析

本文將介紹如何使用Python連接MySQL數(shù)據(jù)庫,并從Excel文件中讀取數(shù)據(jù),將其插入到MySQL數(shù)據(jù)庫中。

2. 環(huán)境準備

在開始本文之前,請確保您已經(jīng)安裝好了以下環(huán)境:

  • Python 3.x
  • PyMySQL庫
  • openpyxl庫
  • MySQL數(shù)據(jù)庫

3. 連接MySQL數(shù)據(jù)庫

我們可以使用pymysql庫來連接MySQL數(shù)據(jù)庫。請先創(chuàng)建一個名為test的MySQL數(shù)據(jù)庫,并在其中創(chuàng)建一個名為yonghu的表。

import pymysql

# 連接到MySQL數(shù)據(jù)庫
mydb = pymysql.connect(
    host="localhost",
    user="root",
    passwd="123456",
    db="test"
)

在上述代碼中,我們調(diào)用了pymysql庫中的connect()函數(shù)來連接MySQL數(shù)據(jù)庫。其中,host參數(shù)是MySQL服務器的主機名或IP地址,user參數(shù)是登錄MySQL服務器的用戶名,passwd參數(shù)是登錄MySQL服務器的密碼,db參數(shù)是要連接的數(shù)據(jù)庫名。

4. 打開Excel文件

在Python中,可以使用openpyxl庫來讀寫Excel文件。請先安裝好openpyxl庫。

from openpyxl import load_workbook

# 打開Excel文件
wb = load_workbook(filename=r'E:\重新開始\Python操作MySQL數(shù)據(jù)庫\sheet1.xlsx')
sheet = wb.active

在上述代碼中,我們使用load_workbook()函數(shù)加載Excel文件,并使用active屬性獲取活動工作表。

5. 獲取表頭

在插入數(shù)據(jù)之前,我們需要先獲取Excel表格的表頭信息。

# 獲取表頭
header = [cell.value for cell in sheet[1]]

在上述代碼中,我們遍歷第一行的單元格,獲取每個單元格的值,作為表頭。

6. 遍歷Excel數(shù)據(jù)并插入數(shù)據(jù)庫

接下來,我們遍歷Excel文件中的每一行數(shù)據(jù),并將其插入到MySQL數(shù)據(jù)庫中。

# 遍歷每一行數(shù)據(jù),并將其插入到數(shù)據(jù)庫中
cursor = mydb.cursor()
count = 0
for row in sheet.iter_rows(min_row=2, values_only=True):
    sql = f"INSERT INTO yonghu ({', '.join(header)}) VALUES ({', '.join(['%s'] * len(header))})"
    cursor.execute(sql, row)
    count += 1
    print(f"正在插入{count}條數(shù)據(jù)")

# 提交更改并關(guān)閉數(shù)據(jù)庫連接
mydb.commit()
cursor.close()
mydb.close()

在上述代碼中,我們使用iter_rows()函數(shù)從第二行開始遍歷每一行數(shù)據(jù)。在遍歷過程中,我們構(gòu)建了一個插入數(shù)據(jù)的SQL語句,使用占位符%s,然后使用游標對象執(zhí)行SQL語句,將行數(shù)據(jù)插入到MySQL數(shù)據(jù)庫中。

最后,我們提交了對數(shù)據(jù)庫的更改,并關(guān)閉了游標對象和與MySQL數(shù)據(jù)庫的連接。

7. 完整代碼

最終的Python代碼如下:

from openpyxl import load_workbook  # 導入load_workbook函數(shù),用于加載Excel文件
import pymysql  # 導入pymysql庫,用于連接和操作MySQL數(shù)據(jù)庫

# 連接到MySQL數(shù)據(jù)庫
mydb = pymysql.connect(
    host="localhost",
    user="root",
    passwd="123456",
    db="test"
)

# 打開Excel文件
wb = load_workbook(filename=r'E:\重新開始\Python操作MySQL數(shù)據(jù)庫\sheet1.xlsx')  # 加載Excel文件
sheet = wb.active  # 獲取活動工作表

# 獲取表頭
header = [cell.value for cell in sheet[1]]  # 獲取第一行的單元格值,作為表頭

# 遍歷每一行數(shù)據(jù),并將其插入到數(shù)據(jù)庫中
cursor = mydb.cursor()  # 創(chuàng)建游標對象,用于執(zhí)行SQL語句
count = 0  # 計數(shù)器,用于記錄插入的數(shù)據(jù)條數(shù)
for row in sheet.iter_rows(min_row=2, values_only=True):  # 從第二行開始遍歷每一行數(shù)據(jù)
    sql = f"INSERT INTO yonghu ({', '.join(header)}) VALUES ({', '.join(['%s'] * len(header))})"
    # 構(gòu)建插入數(shù)據(jù)的SQL語句,使用占位符%s
    cursor.execute(sql, row)  # 執(zhí)行SQL語句,將行數(shù)據(jù)插入到數(shù)據(jù)庫中
    count += 1  # 每插入一條數(shù)據(jù),計數(shù)器加1
    print(f"正在插入{count}條數(shù)據(jù)")  # 輸出插入的數(shù)據(jù)條數(shù)

# 提交更改并關(guān)閉數(shù)據(jù)庫連接
mydb.commit()  # 提交對數(shù)據(jù)庫的更改
cursor.close()  # 關(guān)閉游標對象
mydb.close()  # 關(guān)閉與數(shù)據(jù)庫的連接

到此這篇關(guān)于python利用pymysql和openpyxl實現(xiàn)操作MySQL數(shù)據(jù)庫并插入數(shù)據(jù)的文章就介紹到這了,更多相關(guān)python操作MySQL數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python卸載后再次安裝遇到的問題解決

    python卸載后再次安裝遇到的問題解決

    這篇文章主要給大家介紹了關(guān)于python卸載后再次安裝遇到問題解決的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-07-07
  • Python趣味挑戰(zhàn)之pygame實現(xiàn)無敵好看的百葉窗動態(tài)效果

    Python趣味挑戰(zhàn)之pygame實現(xiàn)無敵好看的百葉窗動態(tài)效果

    最近寫了很多期關(guān)于pygame的案例和知識點,自己也收獲了很多知識,也在這個過程中成長了不少, 這次還是圍繞surface對象進行詳細介紹,并形成完整的案例過程,文中有非常詳細實現(xiàn)百葉窗動態(tài)效果的代碼示例,需要的朋友可以參考下
    2021-05-05
  • python讀取txt數(shù)據(jù)的操作步驟

    python讀取txt數(shù)據(jù)的操作步驟

    這篇文章主要介紹了python讀取txt數(shù)據(jù)的操作步驟,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • python從PDF中提取數(shù)據(jù)的示例

    python從PDF中提取數(shù)據(jù)的示例

    這篇文章主要介紹了python從PDF中提取數(shù)據(jù)的示例,幫助大家提高辦公效率,感興趣的朋友可以了解下
    2020-10-10
  • 在Python IDLE 下調(diào)用anaconda中的庫教程

    在Python IDLE 下調(diào)用anaconda中的庫教程

    這篇文章主要介紹了在Python IDLE 下調(diào)用anaconda中的庫教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 如何利用Python matplotlib繪制雷達圖

    如何利用Python matplotlib繪制雷達圖

    這篇文章主要給大家介紹了關(guān)于如何利用Python matplotlib繪制雷達圖的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Python腳本實現(xiàn)網(wǎng)卡流量監(jiān)控

    Python腳本實現(xiàn)網(wǎng)卡流量監(jiān)控

    這篇文章主要介紹了Python腳本實現(xiàn)網(wǎng)卡流量監(jiān)控,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-02-02
  • Python包管理工具之PDM的使用教程

    Python包管理工具之PDM的使用教程

    今天主要是給大家推薦一個叫PDM的工具,全稱:Python?Development?Master,它也是非常好用。本文將為大家詳細講講它的使用,感興趣的可以了解一下
    2022-08-08
  • python實現(xiàn)按首字母分類查找功能

    python實現(xiàn)按首字母分類查找功能

    這篇文章主要介紹了python實現(xiàn)按首字母分類查找功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • 深度辨析Python的eval()與exec()的方法

    深度辨析Python的eval()與exec()的方法

    這篇文章主要介紹了深度辨析Python的eval()與exec()的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03

最新評論