让我来为您详细讲解“Python使用openpyxl读写excel文件的方法”的完整实例教程。
简介
openpyxl
是一个Python库,可以实现在Python中读写Excel文件。它支持Excel 2010或更高版本,且可以处理xlsx、xlsm、xltx和xltm文件。
安装
首先需要安装openpyxl
库,可以使用pip来进行安装。
pip install openpyxl
读取Excel文件
假设我们有一个叫做example.xlsx的Excel文件,它有一个名为Sheet1的工作表,工作表中包含一些数据。我们可以使用openpyxl来读取和分析这些数据。
import openpyxl
# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')
# 选中工作表
worksheet = workbook['Sheet1']
# 获取工作表中的所有行
rows = worksheet.rows
# 遍历所有行,并输出单元格的值
for row in rows:
for cell in row:
print(cell.value)
上面的代码中,我们首先使用openpyxl.load_workbook
方法打开example.xlsx文件。然后访问Sheet1工作表,通过worksheet.rows
方法获取工作表中所有行的列表,遍历这个列表并输出每个单元格的值。
写入Excel文件
另一方面,我们可以使用openpyxl
来写入Excel文件。假设我们要将一些数据写入一个名为output.xlsx的工作表中,我们可以像下面这样做:
import openpyxl
# 创建一个新的workbook对象
workbook = openpyxl.Workbook()
# 获取活动的工作表
worksheet = workbook.active
# 在第一行中写入数据
worksheet['A1'] = 'Hello, world!'
worksheet['B1'] = 'Python openpyxl'
# 保存Excel文件
workbook.save('output.xlsx')
上面的代码中,我们首先创建一个新的工作表对象,然后使用workbook.active
方法获取活动的工作表。我们在第一行中写入数据,并使用workbook.save
方法将工作表保存到output.xlsx文件中。
示例说明
举一个更具体的例子,假设我们有一个名为students.xlsx的Excel文件,其中包含一个名为Sheet1的工作表。这个工作表中有三列:学生姓名、年龄和分数。我们想要读取和输出每个学生的姓名和分数,并创建一个新的工作表,其中只包含姓名和分数这两列数据。
读取数据
import openpyxl
# 打开Excel文件
workbook = openpyxl.load_workbook('students.xlsx')
# 获取指定的工作表
worksheet = workbook['Sheet1']
# 获取所有行
rows = worksheet.rows
# 创建学生信息列表
students = []
# 遍历每行数据
for row in rows:
# 获取每个单元格的值
name = row[0].value
score = row[2].value
# 将学生姓名和分数添加到列表中
students.append((name, score))
# 输出结果
for student in students:
print(f'{student[0]}的分数是{student[1]}')
上面的代码中,我们首先使用openpyxl.load_workbook
方法打开students.xlsx文件,然后访问Sheet1工作表。我们通过worksheet.rows
方法获取所有行的列表,并遍历这个列表以获取每个学生的姓名和分数。
写入数据
import openpyxl
# 打开Excel文件
workbook = openpyxl.load_workbook('students.xlsx')
# 获取指定的工作表
worksheet = workbook['Sheet1']
# 创建新的工作表
new_worksheet = workbook.create_sheet('Students Summary')
# 写入表头
new_worksheet['A1'] = '学生姓名'
new_worksheet['B1'] = '分数'
# 写入学生信息
for row, student in enumerate(students, start=2):
new_worksheet.cell(row=row, column=1, value=student[0])
new_worksheet.cell(row=row, column=2, value=student[1])
# 保存Excel文件
workbook.save('students_summary.xlsx')
上面的代码中,我们首先使用openpyxl.load_workbook
方法打开students.xlsx文件,并访问Sheet1工作表。我们创建一个新的工作表对象,将其命名为Students Summary,并在第一行中写入表头。
然后,我们遍历之前创建的学生信息列表,并将每个学生的姓名和分数写入新的工作表中。最后,我们使用workbook.save
方法将这个新的工作表保存到students_summary.xlsx文件中。
以上就是使用Python和openpyxl库读写Excel文件的完整实例教程,希望能对你有所帮助。