最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 利用pandas和mysql-connector獲取Excel數(shù)據(jù)寫入到MySQL數(shù)據(jù)庫

 更新時間:2023年10月28日 09:15:30   作者:懸崖上的金魚  
在實際應(yīng)用中,我們可能需要將Excel表格中的數(shù)據(jù)導入到MySQL數(shù)據(jù)庫中,以便于進行進一步的數(shù)據(jù)分析和處理,本文將介紹如何使用Python將Excel表格中的數(shù)據(jù)插入到MySQL數(shù)據(jù)庫中,需要的朋友可以參考下

如何將Excel數(shù)據(jù)插入到MySQL數(shù)據(jù)庫中

在實際應(yīng)用中,我們可能需要將Excel表格中的數(shù)據(jù)導入到MySQL數(shù)據(jù)庫中,以便于進行進一步的數(shù)據(jù)分析和處理。本文將介紹如何使用Python將Excel表格中的數(shù)據(jù)插入到MySQL數(shù)據(jù)庫中。

導入必要的庫

首先,我們需要導入pandas庫和MySQL Connector/Python庫,以便于讀取Excel文件和連接MySQL數(shù)據(jù)庫。

import pandas as pd  # 導入pandas庫,用于讀取Excel文件和處理數(shù)據(jù)
import mysql.connector  # 導入MySQL Connector/Python庫,用于連接MySQL數(shù)據(jù)庫

連接數(shù)據(jù)庫

接下來,我們需要連接MySQL數(shù)據(jù)庫??梢酝ㄟ^MySQL Connector/Python庫提供的connect()方法來連接數(shù)據(jù)庫。

# 連接數(shù)據(jù)庫
mydb = mysql.connector.connect(
    host=host,  # 數(shù)據(jù)庫主機地址
    user=user,  # 數(shù)據(jù)庫用戶名
    password=password,  # 數(shù)據(jù)庫密碼
    database=database  # 數(shù)據(jù)庫名稱
)

其中,host、user、password和database分別是數(shù)據(jù)庫主機地址、數(shù)據(jù)庫用戶名、數(shù)據(jù)庫密碼和數(shù)據(jù)庫名稱,需要根據(jù)實際情況進行修改。

創(chuàng)建游標對象

連接成功后,我們需要創(chuàng)建游標對象??梢酝ㄟ^MySQL Connector/Python庫提供的cursor()方法來創(chuàng)建游標對象。

# 創(chuàng)建游標對象
mycursor = mydb.cursor()

讀取Excel文件

接下來,我們需要讀取Excel文件中的數(shù)據(jù)。可以使用pandas庫提供的read_excel()方法來讀取Excel文件。

# 讀取Excel文件
df = pd.read_excel(filename)

其中,filename是Excel文件的路徑,需要根據(jù)實際情況進行修改。

將日期時間類型的列轉(zhuǎn)換為字符串類型

在將數(shù)據(jù)插入到MySQL數(shù)據(jù)庫中之前,我們需要將日期時間類型的列轉(zhuǎn)換為字符串類型。可以通過遍歷DataFrame中的每一列,并判斷該列的數(shù)據(jù)類型是否為日期時間類型,然后將該列的數(shù)據(jù)類型轉(zhuǎn)換為字符串類型。

# 將日期時間類型的列轉(zhuǎn)換為字符串類型
for col in df.columns:  # 遍歷DataFrame中的每一列
    if df[col].dtype == 'datetime64[ns]':  # 如果該列的數(shù)據(jù)類型是日期時間類型
        df[col] = df[col].astype(str)  # 將該列的數(shù)據(jù)類型轉(zhuǎn)換為字符串類型

遍歷Excel表格中的每一行,并將每一行插入到數(shù)據(jù)庫中

接下來,我們需要遍歷Excel表格中的每一行,并將每一行插入到數(shù)據(jù)庫中??梢允褂胮andas庫提供的itertuples()方法來遍歷DataFrame中的每一行,并使用MySQL Connector/Python庫提供的execute()方法來執(zhí)行SQL插入語句。

# 遍歷Excel表格中的每一行,并將每一行插入到數(shù)據(jù)庫中
for row in df.itertuples(index=False):  # 遍歷DataFrame中的每一行
    sql = f"INSERT INTO {table} (id, 姓名, 國家, 出生日期) VALUES (%s, %s, %s, %s)"  # SQL插入語句
    val = row  # 插入的數(shù)據(jù)
    mycursor.execute(sql, val)  # 執(zhí)行SQL插入語句
    print("正在插入數(shù)據(jù):", val)  # 輸出正在插入的數(shù)據(jù)

其中,table是數(shù)據(jù)庫表名,需要根據(jù)實際情況進行修改。

提交更改并關(guān)閉數(shù)據(jù)庫連接

最后,我們需要提交更改并關(guān)閉數(shù)據(jù)庫連接??梢允褂肕ySQL Connector/Python庫提供的commit()方法來提交更改,并使用close()方法來關(guān)閉游標對象和數(shù)據(jù)庫連接。

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

完整代碼如下:

import pandas as pd  # 導入pandas庫,用于讀取Excel文件和處理數(shù)據(jù)
import mysql.connector  # 導入MySQL Connector/Python庫,用于連接MySQL數(shù)據(jù)庫

def insert_excel_data_to_mysql(filename, host, user, password, database, table):
    # 連接數(shù)據(jù)庫
    mydb = mysql.connector.connect(
        host=host,  # 數(shù)據(jù)庫主機地址
        user=user,  # 數(shù)據(jù)庫用戶名
        password=password,  # 數(shù)據(jù)庫密碼
        database=database  # 數(shù)據(jù)庫名稱
    )

    # 創(chuàng)建游標對象
    mycursor = mydb.cursor()

    # 讀取Excel文件
    df = pd.read_excel(filename)

    # 將日期時間類型的列轉(zhuǎn)換為字符串類型
    for col in df.columns:  # 遍歷DataFrame中的每一列
        if df[col].dtype == 'datetime64[ns]':  # 如果該列的數(shù)據(jù)類型是日期時間類型
            df[col] = df[col].astype(str)  # 將該列的數(shù)據(jù)類型轉(zhuǎn)換為字符串類型

    # 遍歷Excel表格中的每一行,并將每一行插入到數(shù)據(jù)庫中
    for row in df.itertuples(index=False):  # 遍歷DataFrame中的每一行
        sql = f"INSERT INTO {table} (id, 姓名, 國家, 出生日期) VALUES (%s, %s, %s, %s)"  # SQL插入語句
        val = row  # 插入的數(shù)據(jù)
        mycursor.execute(sql, val)  # 執(zhí)行SQL插入語句
        print("正在插入數(shù)據(jù):", val)  # 輸出正在插入的數(shù)據(jù)

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

# 使用示例
filename = r'C:\\Users\\Admin\\Desktop\\重新開始\\Python操作MySQL數(shù)據(jù)庫\\sheet1.xlsx'  # Excel文件路徑
host = "localhost"  # 數(shù)據(jù)庫主機地址
user = "root"  # 數(shù)據(jù)庫用戶名
password = "123456"  # 數(shù)據(jù)庫密碼
database = "caiwu"  # 數(shù)據(jù)庫名稱
table = "yonghu"  # 數(shù)據(jù)庫表名

insert_excel_data_to_mysql(filename, host, user, password, database, table)  # 調(diào)用函數(shù),將Excel數(shù)據(jù)插入到MySQL數(shù)據(jù)庫中

到此這篇關(guān)于Python 利用pandas和mysql-connector獲取Excel數(shù)據(jù)寫入到MySQL數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)Python獲取Excel數(shù)據(jù)寫入到MySQL數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

武威市| 商水县| 沂水县| 龙南县| 丁青县| 故城县| 伊金霍洛旗| 丰镇市| 遵化市| 石景山区| 阳曲县| 铁岭市| 徐汇区| 尖扎县| 长治县| 吉木萨尔县| 任丘市| 晴隆县| 枞阳县| 安福县| 鄯善县| 龙泉市| 大姚县| 新田县| 景德镇市| 上高县| 白银市| 井研县| 桓台县| 陇南市| 衡阳县| 剑川县| 临漳县| 沛县| 蕉岭县| 花莲县| 贺州市| 阿尔山市| 邵东县| 雷山县| 白水县|