📅  最后修改于: 2023-12-03 14:46:25.934000             🧑  作者: Mango
openpyxl是一个Python库,用于读写Excel 2010 xlsx / xlsm / xltx / xltm文件。它支持Python 2.7和3.4+。我们可以使用openpyxl将数据从Python写入Excel文件。
在安装openpyxl之前,请确保已安装Python。 打开终端并运行以下命令:
pip install openpyxl
使用openpyxl库,我们可以创建新的Excel工作簿或打开现有的工作簿。以下是创建新工作簿的方法:
from openpyxl import Workbook
# 创建新的工作簿
workbook = Workbook()
# 选择默认的工作表
worksheet = workbook.active
#给工作表添加数据
worksheet['A1'] = '姓名'
worksheet['B1'] = '学号'
worksheet['C1'] = '分数'
# 保存Excel文件
workbook.save(filename='student_scores.xlsx')
我们可以看到,我们创建了具有三个列(姓名,学号和分数)的新工作表,并为每一列中的基本信息添加了标题行。 在工作表中添加数据后,我们需要保存它以在磁盘上创建Excel文件。在上面的代码中,我们使用save()
方法将Excel文件保存为学生得分的工作簿。
在上一节中,我们创建了新的Excel文件并添加了基本信息。让我们在Excel文件中添加更多的数字数据。我们将使用append()方法添加多个行,并使用循环处理每个学生的分数。
from openpyxl import Workbook
#创建新工作簿
workbook = Workbook()
#选择默认的工作表
worksheet = workbook.active
#添加数据-行1
worksheet['A1'] = '姓名'
worksheet['B1'] = '学号'
worksheet['C1'] = '分数'
#添加数据-行2
for i in range(5):
my_name = '学生'+str(i+1)
my_id = '201900'+str(i+1).zfill(2)
my_score = 80+5*i
worksheet.append([my_name,my_id,my_score])
# 保存Excel文件
workbook.save(filename='student_scores.xlsx')
上述代码添加了五个学生的成绩,从80到100逐渐递增。 还要特别注意zfill()
函数,它将整数填充成与给定长度相等的字符串。
我们可以在Excel单元格中编写公式,这些公式将自动计算Excel文件中的数据。openpyxl支持自动为单元格编写公式,如下所示:
from openpyxl import Workbook
workbook = Workbook()
worksheet = workbook.active
# 添加数据-行1
worksheet['A1'] = '姓名'
worksheet['B1'] = '学号'
worksheet['C1'] = '分数'
worksheet['D1'] = '平均分数'
# 添加数据-行2
for i in range(5):
my_name = '学生'+str(i+1)
my_id = '201900'+str(i+1).zfill(2)
my_score = 80+5*i
worksheet.append([my_name, my_id, my_score])
#添加公式
worksheet['D2'] = '=AVERAGE(C2:C6)'
# 保存Excel文件
workbook.save(filename='student_scores.xlsx')
D2
单元格自动计算了C2-C6
范围内的平均值。注意,公式中必须使用英文双引号。
Python中的openpyxl库使我们可以使用Python编写程序来创建、读取和写入Excel文件,它为我们处理Excel文件提供了强大的工具。 本文介绍了如何使用openpyxl来创建和写入Excel文件,包括添加数字数据和公式表达式。