使用 IRONXL FOR PYTHON 如何使用 python 将 Excel 文件导入数据库表 Curtis Chau 已更新:六月 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建立数据库连接以插入数据。 使用IronXL处理Excel文件在Python中有什么好处? IronXL允许你处理Excel文件而无需安装Microsoft Excel,支持跨平台操作,提供像加密和公式重新计算等强大功能,并有效管理数据提取和插入过程。 如何为Python项目安装IronXL? 要为Python项目安装IronXL,你可以使用命令:`pip install IronXL`。这会将IronXL添加到你的Python环境中,从而让你有效地处理Excel文件。 在未安装Microsoft Excel的情况下,是否可以在Python中处理Excel文件? 是的,使用IronXL,你可以在未安装Microsoft Excel的情况下处理Excel文件。IronXL提供了所有读取、编辑和写入Excel文件所需的功能。 在Python中创建一个数据库表以存储Excel数据的过程是什么? 要在Python中创建数据库表,你可以使用SQLite的`sqlite3`模块。在使用`connect()`建立连接后,通过cursor对象执行SQL的`CREATE TABLE`语句。 如何验证Excel数据是否成功插入到SQLite数据库中? 你可以通过在表上执行`SELECT`查询,并使用`fetchall()`方法检索并打印结果集中的所有行来验证插入。 在使用Python将数据从Excel迁移到数据库时需要遵循哪些步骤? 步骤包括安装IronXL、加载Excel文件、选择工作表、连接到数据库、创建表,并迭代Excel行以使用SQL `INSERT`命令插入数据。 IronXL是否能处理Excel公式并在Python中重新计算它们? 是的,IronXL支持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 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已更新六月 22, 2025 如何在 Python 中读取具有多个工作表的 Excel 文件 在本文中,我们将探索如何使用 IronXL for Python 读取多个 Excel 工作表,包括那些包含多个工作表的文件 阅读更多 已更新六月 22, 2025 无需 Pandas 即可在 Python 中读取 Excel 文件(无需 Interop) 处理 Microsoft Excel 时,第一个想到的库是 pandas,但还有其他强大的库如 IronXL,它们提供性能和速度。 阅读更多 已更新六月 22, 2025 如何使用 Python 将图像插入 Excel 本文将指导您完成使用 IronXL 在 Python 中将图像插入 Excel 的过程。 阅读更多 如何使用 Python 在 Excel 文件中插入行如何在 Python 中编辑 Excel 文件
已更新六月 22, 2025 如何在 Python 中读取具有多个工作表的 Excel 文件 在本文中,我们将探索如何使用 IronXL for Python 读取多个 Excel 工作表,包括那些包含多个工作表的文件 阅读更多
已更新六月 22, 2025 无需 Pandas 即可在 Python 中读取 Excel 文件(无需 Interop) 处理 Microsoft Excel 时,第一个想到的库是 pandas,但还有其他强大的库如 IronXL,它们提供性能和速度。 阅读更多