📌  相关文章
📜  Python|使用 openpyxl 模块写入 excel 文件(1)

📅  最后修改于: 2023-12-03 14:46:25.934000             🧑  作者: Mango

Python使用openpyxl模块写入excel文件

简介

openpyxl是一个Python库,用于读写Excel 2010 xlsx / xlsm / xltx / xltm文件。它支持Python 2.7和3.4+。我们可以使用openpyxl将数据从Python写入Excel文件。

安装openpyxl

在安装openpyxl之前,请确保已安装Python。 打开终端并运行以下命令:

pip install openpyxl
使用openpyxl写入Excel文件
创建Excel文件

使用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文件并添加了基本信息。让我们在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文件,包括添加数字数据和公式表达式。