下面是一份关于如何使用Python读写Excel表格的完整实例教程。
介绍
在很多工作场景中,我们需要将数据从Excel表格中读取出来,或者将数据写到Excel表格中。Python提供了许多工具和库,可以实现这些功能,其中最常用的就是openpyxl
库。openpyxl
是一个专门用于读写Excel的Python库,既支持读取现有的Excel文件,也支持创建和修改Excel文件,非常方便和实用。
安装和导入
首先,我们需要安装openpyxl
库,可以使用pip命令进行安装:
pip install openpyxl
然后在Python代码中导入openpyxl
库以进行使用:
import openpyxl
读取Excel文件
要读取一个Excel文件,我们需要指定文件路径,然后打开文件并创建一个工作表对象。下面是一个简单的实例代码:
import openpyxl
# 指定文件路径
excel_path = "data.xlsx"
# 打开Excel文件并创建一个工作表对象
workbook = openpyxl.load_workbook(excel_path)
# 获取第一个工作表
worksheet = workbook.worksheets[0]
# 读取单元格内容
cell_value = worksheet.cell(row=1, column=1).value
# 打印单元格内容
print(cell_value)
以上代码打开了名为”data.xlsx”的Excel文件,并读取了第一个工作表中第一个单元格的内容,并将其打印出来。
写入Excel文件
要将数据写入一个Excel文件,我们同样需要打开文件并创建一个工作表对象。然后,我们可以使用工作表对象的cell
方法来写入单元格内容。下面是一个简单的实例代码:
import openpyxl
# 指定文件路径
excel_path = "data.xlsx"
# 打开Excel文件并创建一个工作表对象
workbook = openpyxl.load_workbook(excel_path)
# 获取第一个工作表
worksheet = workbook.worksheets[0]
# 写入单元格内容
worksheet.cell(row=1, column=2, value="Hello world!")
# 保存更改到文件
workbook.save(excel_path)
以上代码打开了名为”data.xlsx”的Excel文件,并将”Hello world!”写入第一个工作表中的第二个单元格中。
示例说明
以下是两个使用openpyxl
库读写Excel表格的实例说明:
示例一:将多个Excel文件中的数据合并到一个文件中
有时候,我们需要将多个Excel文件中的数据合并到一个文件中以进行分析和处理。这个时候,可以使用openpyxl
库来实现这个功能。以下是一个简单的示例代码:
import openpyxl
# 各个Excel文件的路径
files = ["file1.xlsx", "file2.xlsx", "file3.xlsx"]
# 新Excel的路径
new_file = "merged.xlsx"
# 创建新的Excel文件并添加第一个工作表
workbook = openpyxl.Workbook()
worksheet = workbook.create_sheet("Sheet1")
# 循环读取各个Excel文件的内容并写入新Excel文件
for file in files:
wb = openpyxl.load_workbook(file)
ws = wb.active
for row in ws.rows:
row_values = []
for cell in row:
row_values.append(cell.value)
worksheet.append(row_values)
# 保存新Excel文件
workbook.save(new_file)
以上代码读取了三个不同的Excel文件,并将它们的内容合并到一个新的Excel文件中。
示例二:从数据库中读取数据,然后写入到Excel文件中
有时候,我们需要将从数据库中查询到的数据写入一个Excel文件中,以便于进行数据分析和处理。这个时候,可以使用openpyxl
库来实现这个功能。以下是一个简单的示例代码:
import openpyxl
import mysql.connector
# 连接MySQL数据库
conn = mysql.connector.connect(
host="localhost",
user="root",
password="123456",
database="test"
)
# 从数据库中查询数据
cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
# 创建新Excel文件并添加第一个工作表
workbook = openpyxl.Workbook()
worksheet = workbook.create_sheet("Sheet1")
# 将数据写入Excel文件
worksheet.append(["ID", "Name", "Age", "Gender"])
for row in rows:
worksheet.append(row)
# 保存Excel文件
workbook.save("data.xlsx")
# 关闭数据库连接
cursor.close()
conn.close()
以上代码连接了MySQL数据库,并从数据库中查询了一个名为”users”的表中的所有行。然后,它创建了一个新的Excel文件并将查询到的数据写入了这个文件中的第一个工作表中。最后,它保存了Excel文件并关闭了数据库连接。