使用 IRONXL FOR PYTHON 如何使用 python 將 Excel 檔案匯入資料庫表格 Curtis Chau 更新:6月 22, 2025 下載 IronXL pip 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在雙子座打開 請向 Gemini 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 在當今數據驅動的世界中,高效的數據處理對於任何組織或個人來說都是至關重要的任務。 Python擁有豐富的函式庫生態系統,提供了強大的資料操作和管理工具,例如pandas函式庫。 一個常見的場景是需要從Excel電子表格中提取或匯入數據,並將數據儲存或插入資料庫中,以便進行進一步分析或與其他系統整合。 在本教程中,我們將探討如何建立一個 Python 腳本來自動執行此過程,使您能夠無縫地從 Excel 表格檔案中讀取資料並將其插入資料庫。 學完本教學後,您將能夠有效率地處理資料遷移任務。 讓我們開始吧 如何使用 Python 將 Excel 檔案匯入資料庫表 先安裝 IronXL 庫。 使用 IronXL 將 Excel 檔案載入到記憶體中。 載入您要使用的特定電子表格。 選擇要匯入的精確資料範圍。 使用 Python 與 SQLite 或 MySQL 等資料庫建立連線。 在 SQLite 資料庫中建立一個新表,用於容納匯入的資料。 將 Excel 檔案中選定的行插入到新建立的 SQLite 表中。 從建立的 SQLite 表中檢索和選擇數據,以便進行進一步的分析或處理。 在本教程中,我們將使用IronXL ,這是一個以高效處理 Excel 檔案而聞名的 Python 庫。 透過將 IronXL 整合到我們的腳本中,我們確保從 Excel 電子表格中無縫提取數據,從而能夠順利地將數據插入資料庫以進行進一步的分析和處理。 IronXL是什麼? IronXL 是由 Iron Software 開發的 Python 函式庫,它提供了強大的功能,可以直接在 Python 應用程式中讀取、產生和編輯 Excel 檔案。 值得注意的是,IronXL 的突出之處在於它無需安裝 Microsoft Excel,從而簡化了在不同環境中的部署。 透過 IronXL,開發人員可受益於: 跨平台支援:可在 Windows、macOS、Linux、Docker、Azure 和 AWS 平台上無縫運行,確保適應各種不同的開發環境。 資料匯入和匯出:輕鬆處理從 XLS、XLSX、CSV 和 TSV 檔案匯入的數據,並可靈活地將工作表匯出為這些格式,甚至匯出為 JSON 格式,以增強互通性。 加密功能:利用 IronXL 的加密功能確保資料安全,允許使用密碼保護 XLSX、XLSM 和 XLTX 檔案。 公式和重新計算:輕鬆使用 Excel公式,每次編輯工作表時都會自動重新計算,從而確保資料處理的準確性和可靠性。 儲存格樣式:透過調整字體樣式、大小、背景圖案、邊框和對齊方式來自訂單一儲存格的外觀,從而增強 Excel 文件的視覺效果。 支援多種文件格式: IronXL 支援多種格式,包括 XLS、XLSX、XLST、XLSM、CSV 和 TSV,讓開發人員能夠輕鬆且有效率地處理各種場景下的資料。 現在,我們先來安裝 IronXL。 步驟 1:安裝 IronXL 庫 第一步是安裝 IronXL 庫。 在命令提示字元中執行以下命令來安裝 IronXL。 pip install IronXL pip install IronXL SHELL 步驟 2:載入 Excel 工作簿 下一步是載入Excel檔案。本教學將使用以下Excel檔案。 如何使用 Python 將 Excel 檔案匯入資料庫表:圖 1 - Excel 檔案輸入範例 以下程式碼會將記憶體中已有的 Excel 檔案載入到記憶體中。 from ironxl import * # Supported for XLSX, XLS, XLSM, XLTX, CSV, and TSV # Assign a license key (retrieved from IronXL website) License.LicenseKey = "IRONSUITE.ABC.XYZ.COM.15796-DEPLOYMENT.TRIAL-5X63V4.TRIAL.EXPIRES.27.MAY.2024" # Load the Excel workbook into memory workbook = WorkBook.Load("sample_excel.xlsx") from ironxl import * # Supported for XLSX, XLS, XLSM, XLTX, CSV, and TSV # Assign a license key (retrieved from IronXL website) License.LicenseKey = "IRONSUITE.ABC.XYZ.COM.15796-DEPLOYMENT.TRIAL-5X63V4.TRIAL.EXPIRES.27.MAY.2024" # Load the Excel workbook into memory workbook = WorkBook.Load("sample_excel.xlsx") PYTHON 上面的 Python 程式碼片段示範如何使用 IronXL 程式庫載入名為"sample_excel.xlsx"的 Excel 工作簿。 首先,從 IronXL 導入必要的 Python 模組。 然後,系統會指派一個許可證金鑰來驗證庫的使用情況。 您可以從IronXL 網站取得免費許可證金鑰。 最後,採用Load方法開啟並載入指定的 Excel 工作簿到記憶體中。 這樣就可以對它的內容進行後續的程式設計操作,例如讀取資料、修改儲存格值或應用程式格式。 步驟 3:選擇工作表 若要使用 IronXL 選擇 Excel 工作簿中的工作表,您可以指定工作表索引或名稱。 # Select the first worksheet in the loaded Excel workbook worksheet = workbook.WorkSheets[0] # Select the first worksheet in the loaded Excel workbook worksheet = workbook.WorkSheets[0] PYTHON 此行選擇已載入的 Excel 工作簿中的第一個工作表,並將其指派給變數worksheet ,從而允許對工作簿中的該特定工作表執行後續操作。 這將把 Excel 工作表中的資料載入到工作表變數中。 步驟 4:開啟資料庫連接 在本教程中,我們將使用 SQLite 資料庫而不是 MySQL 資料庫伺服器。 要啟動資料庫操作,我們首先要建立與資料庫的連線。 import sqlite3 # Connect to SQLite database (or create it if it doesn't exist) conn = sqlite3.connect('data.db') import sqlite3 # Connect to SQLite database (or create it if it doesn't exist) conn = sqlite3.connect('data.db') PYTHON 上述程式碼建立了與名為"data.db"的 SQLite 資料庫的連線。 如果指定的資料庫不存在,則會自動建立。 此連接允許後續與 SQLite 資料庫進行交互,例如執行查詢和執行資料操作。 步驟 5:建立表格 下一步是在資料庫中建立一個資料庫表,我們將從 Excel 檔案匯入資料。若要在 SQLite 資料庫中建立資料表,可以使用連線物件執行 SQL 語句。 # Create a cursor object for database operations cursor = conn.cursor() # Define and execute SQL to create a table if it doesn't exist cursor.execute(''' CREATE TABLE IF NOT EXISTS customer ( id INTEGER, FirstName TEXT, LastName TEXT, Gender TEXT, Country TEXT, Age INTEGER ) ''') # Create a cursor object for database operations cursor = conn.cursor() # Define and execute SQL to create a table if it doesn't exist cursor.execute(''' CREATE TABLE IF NOT EXISTS customer ( id INTEGER, FirstName TEXT, LastName TEXT, Gender TEXT, Country TEXT, Age INTEGER ) ''') PYTHON 上面的程式碼片段初始化一個遊標對象,以便在 SQLite 資料庫連接中執行 SQL 命令。 它會建立一個名為"customer"的表,其中包含"id"、"FirstName"、"LastName"、"Gender"、"Country"和"Age"欄位。 如果表格尚不存在,則依照指定的列資料類型建立該表格。 步驟 6:使用 Python 將資料匯入資料庫 現在,我們將資料插入我們新建的表中。 我們將導入一個 Excel 文件,並將其資料插入 SQLite 資料庫。 # Iteratively insert data from Excel worksheet into SQLite database for i in range(2, 11): # Extracting values from columns A to F in Excel worksheet values_tuple = ( worksheet[f"A{i}"].StringValue, worksheet[f"B{i}"].StringValue, worksheet[f"C{i}"].StringValue, worksheet[f"D{i}"].StringValue, worksheet[f"E{i}"].StringValue, worksheet[f"F{i}"].StringValue ) # Executing SQL INSERT command cursor.execute("INSERT INTO customer VALUES (?, ?, ?, ?, ?, ?)", values_tuple) # Commit data insertion to the database conn.commit() # Iteratively insert data from Excel worksheet into SQLite database for i in range(2, 11): # Extracting values from columns A to F in Excel worksheet values_tuple = ( worksheet[f"A{i}"].StringValue, worksheet[f"B{i}"].StringValue, worksheet[f"C{i}"].StringValue, worksheet[f"D{i}"].StringValue, worksheet[f"E{i}"].StringValue, worksheet[f"F{i}"].StringValue ) # Executing SQL INSERT command cursor.execute("INSERT INTO customer VALUES (?, ?, ?, ?, ?, ?)", values_tuple) # Commit data insertion to the database conn.commit() PYTHON 上面的程式碼遍歷 Excel 工作表中的第 2 行到第 10 行,提取每一行 A 列到 F 列的值。 這些值儲存在一個元組中,表示要插入到"客戶"表中的資料。 然後遊標執行 SQL INSERT 指令,將值元組合併到表中。 這個過程對每一行重複進行,有效地將資料從 Excel 檔案匯入到 SQLite 資料庫中。 最後, conn.commit()提交事務,確保變更已儲存並持久化到資料庫中。 步驟 7:從資料庫讀取數據 若要驗證資料是否已正確插入,可以使用 SELECT 查詢從 SQLite 資料庫中的"customer"表中讀取資料。 舉例來說 # Execute a SELECT query to retrieve all data from the 'customer' table cursor.execute("SELECT * FROM customer") # Fetch all rows from the result set rows = cursor.fetchall() # Print each row to verify inserted data for row in rows: print(row) # Close the database connection to release resources conn.close() # Execute a SELECT query to retrieve all data from the 'customer' table cursor.execute("SELECT * FROM customer") # Fetch all rows from the result set rows = cursor.fetchall() # Print each row to verify inserted data for row in rows: print(row) # Close the database connection to release resources conn.close() PYTHON 上面的程式碼對 SQLite 資料庫中的"customer"表執行 SELECT 查詢,檢索所有行。 使用fetchall()方法取得的行儲存在"rows"變數中。 然後,逐行列印,顯示插入到"客戶"表中的資料。 最後,使用close()方法關閉資料庫連線以釋放資源。 如何使用 Python 將 Excel 檔案匯入資料庫表:圖 2 - 從資料庫輸出讀取 完整程式碼如下: import sqlite3 from ironxl import * # Supported for XLSX, XLS, XLSM, XLTX, CSV, and TSV # Assign a license key (retrieved from IronXL website) License.LicenseKey = "IRONSUITE.ABC.XYZ.COM.15796-DEPLOYMENT.TRIAL-5X63V4.TRIAL.EXPIRES.27.MAY.2024" # Load the Excel workbook into memory workbook = WorkBook.Load("sample_excel.xlsx") # Select worksheet at index 0 worksheet = workbook.WorkSheets[0] # Connect to SQLite database (or create it if it doesn't exist) conn = sqlite3.connect('data.db') # Create a cursor object for database operations cursor = conn.cursor() # Define and execute SQL to create a table if it doesn't exist cursor.execute(''' CREATE TABLE IF NOT EXISTS customer ( id INTEGER, FirstName TEXT, LastName TEXT, Gender TEXT, Country TEXT, Age INTEGER ) ''') # Clear any existing data from the table cursor.execute("DELETE FROM customer") # Iteratively insert data from Excel worksheet into SQLite database for i in range(2, 11): # Extracting values from columns A to F in Excel worksheet values_tuple = ( worksheet[f"A{i}"].StringValue, worksheet[f"B{i}"].StringValue, worksheet[f"C{i}"].StringValue, worksheet[f"D{i}"].StringValue, worksheet[f"E{i}"].StringValue, worksheet[f"F{i}"].StringValue ) # Executing SQL INSERT command cursor.execute("INSERT INTO customer VALUES (?, ?, ?, ?, ?, ?)", values_tuple) # Commit data insertion to the database conn.commit() # Execute a SELECT query to retrieve all data from the 'customer' table cursor.execute("SELECT * FROM customer") # Fetch all rows from the result set rows = cursor.fetchall() # Print each row to verify inserted data for row in rows: print(row) # Close the database connection to release resources conn.close() import sqlite3 from ironxl import * # Supported for XLSX, XLS, XLSM, XLTX, CSV, and TSV # Assign a license key (retrieved from IronXL website) License.LicenseKey = "IRONSUITE.ABC.XYZ.COM.15796-DEPLOYMENT.TRIAL-5X63V4.TRIAL.EXPIRES.27.MAY.2024" # Load the Excel workbook into memory workbook = WorkBook.Load("sample_excel.xlsx") # Select worksheet at index 0 worksheet = workbook.WorkSheets[0] # Connect to SQLite database (or create it if it doesn't exist) conn = sqlite3.connect('data.db') # Create a cursor object for database operations cursor = conn.cursor() # Define and execute SQL to create a table if it doesn't exist cursor.execute(''' CREATE TABLE IF NOT EXISTS customer ( id INTEGER, FirstName TEXT, LastName TEXT, Gender TEXT, Country TEXT, Age INTEGER ) ''') # Clear any existing data from the table cursor.execute("DELETE FROM customer") # Iteratively insert data from Excel worksheet into SQLite database for i in range(2, 11): # Extracting values from columns A to F in Excel worksheet values_tuple = ( worksheet[f"A{i}"].StringValue, worksheet[f"B{i}"].StringValue, worksheet[f"C{i}"].StringValue, worksheet[f"D{i}"].StringValue, worksheet[f"E{i}"].StringValue, worksheet[f"F{i}"].StringValue ) # Executing SQL INSERT command cursor.execute("INSERT INTO customer VALUES (?, ?, ?, ?, ?, ?)", values_tuple) # Commit data insertion to the database conn.commit() # Execute a SELECT query to retrieve all data from the 'customer' table cursor.execute("SELECT * FROM customer") # Fetch all rows from the result set rows = cursor.fetchall() # Print each row to verify inserted data for row in rows: print(row) # Close the database connection to release resources conn.close() PYTHON 結論 總之,本教學示範了一種自動化資料處理方法,具體來說,就是將 Excel 資料提取並插入資料庫。 這個過程不僅提高了資料管理的效率,而且充分發揮了其在資料處理方面的潛力。 充分利用 Python 和 IronXL 的強大功能,優化您的資料工作流程,並充滿信心地推進您的專案。 常見問題解答 如何使用 Python 將資料從 Excel 檔案匯入資料庫? 您可以使用 IronXL 函式庫將 Excel 檔案中的資料匯入資料庫,方法是先使用 `WorkBook.Load()` 載入 Excel 檔案,然後選擇工作表,並與 SQLite 建立資料庫連線以插入資料。 在 Python 中使用 IronXL 處理 Excel 檔案有哪些好處? IronXL.Excel 讓您無需安裝 Microsoft Excel 即可處理 Excel 檔案,支援跨平台操作,提供加密和公式重新計算等強大功能,並能有效管理資料擷取和插入程序。 如何安裝 IronXL 以用於 Python 專案? 若要為 Python 專案安裝 IronXL,您可以使用下列指令:`pip install IronXL`。這將會在您的 Python 環境中加入 IronXL,讓您可以有效率地處理 Excel 檔案。 在沒有安裝 Microsoft Excel 的情況下,可以用 Python 處理 Excel 檔案嗎? 是的,使用 IronXL,您可以在沒有安裝 Microsoft Excel 的情況下處理 Excel 檔案。IronXL.Excel 提供所有必要的功能,可獨立讀取、編輯和寫入 Excel 檔案。 在 Python 中建立資料庫表格以儲存 Excel 資料的流程是什麼? 要在 Python 中建立資料庫表,您可以使用 SQLite `sqlite3` 模組。使用 `connect()` 建立連線後,透過游標物件執行 SQL `CREATE TABLE` 語句。 如何驗證 Excel 資料是否已成功插入 SQLite 資料庫? 您可以在資料表上執行 `SELECT` 查詢,並使用 `fetchall()` 方法擷取並列印出結果集中的所有記錄,以驗證插入的結果。 使用 Python 將資料從 Excel 遷移到資料庫時,應該遵循哪些步驟? 步驟包括安裝 IronXL.Excel、載入 Excel 檔案、選擇工作表、連接資料庫、建立資料表,以及使用 SQL `INSERT` 指令迭代 Excel 行以插入資料。 IronXL 可以處理 Excel 公式並在 Python 中重新計算嗎? 是的,IronXL.Excel 支援 Excel 公式,並能重新計算公式,為 Python 應用程式中的 Excel 檔案操作提供全面的解決方案。 IronXL 是否支援 Excel 檔案處理的跨平台作業? 是的,IronXL 支援跨平台作業,包括 Windows、macOS、Linux、Docker、Azure 和 AWS 等環境,使其成為各種開發設定的多用途選擇。 IronXL 如何增強 Python 應用程式中的資料工作流程? IronXL 透過提供高效率的資料抽取、處理和插入功能來強化資料工作流程,進而優化資料管理流程並改善資料驅動應用程式的效能。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 相關文章 更新6月 22, 2025 如何在 Python 中使用多工作表讀取 Excel 檔案 在本文中,我們將探討如何使用 IronXL for Python 來讀取多個 Excel 表單,包括具有多個表單的 Excel 表單。 閱讀更多 更新6月 22, 2025 無需 Pandas 即可在 Python 中讀取 Excel 檔案 (無需 Interop) 當處理 Microsoft Excel 時,pandas 是第一個想到的函式庫,但還有其他強大的函式庫,例如 IronXL.Excel,可以提供效能與速度。 閱讀更多 更新6月 22, 2025 如何使用 Python 在 Excel 中插入圖片 本文將引導您使用 IronXL for Python 將圖片插入 Excel。 閱讀更多 如何使用 Python 在 Excel 檔案中插入行如何在 Python 中編輯 Excel 檔案
更新6月 22, 2025 如何在 Python 中使用多工作表讀取 Excel 檔案 在本文中,我們將探討如何使用 IronXL for Python 來讀取多個 Excel 表單,包括具有多個表單的 Excel 表單。 閱讀更多
更新6月 22, 2025 無需 Pandas 即可在 Python 中讀取 Excel 檔案 (無需 Interop) 當處理 Microsoft Excel 時,pandas 是第一個想到的函式庫,但還有其他強大的函式庫,例如 IronXL.Excel,可以提供效能與速度。 閱讀更多