Python如何打开已有的Excel并写入某一列
本文将介绍如何使用Python打开已有的Excel文件,并将数据写入Excel文件的某一列。我们将通过一个实际问题来演示这个过程,并提供相应的示例代码。
问题描述
假设我们有一个存储学生信息的Excel文件,其中包含学生的姓名、年龄和成绩。我们想要使用Python打开这个Excel文件,并将学生的成绩写入Excel文件的某一列。
解决方案
我们可以使用Python的openpyxl库来处理Excel文件。openpyxl是一个功能强大且易于使用的库,可以读取、写入和修改Excel文件。
以下是解决这个问题的步骤:
- 安装
openpyxl库:在终端或命令提示符中运行以下命令来安装openpyxl库:
pip install openpyxl
- 导入
openpyxl库:在Python代码中导入openpyxl库,以便使用它的功能。
import openpyxl
- 打开Excel文件:使用
openpyxl库的load_workbook函数打开Excel文件。
workbook = openpyxl.load_workbook('students.xlsx')
这里假设我们的Excel文件名为students.xlsx,请根据实际情况替换为自己的文件名。如果Excel文件与Python代码不在同一个目录下,我们需要提供文件的完整路径。
- 选择工作表:使用
workbook对象的active属性选择工作表。
sheet = workbook.active
- 写入数据:使用
sheet对象的cell方法将数据写入指定的单元格。
sheet['C1'] = '成绩' # 将标题写入C1单元格
scores = [80, 75, 90, 85, 95] # 学生的成绩
for i, score in enumerate(scores, start=2):
cell = 'C{}'.format(i)
sheet[cell] = score
在这个例子中,我们假设学生的成绩存储在一个名为scores的列表中。我们使用enumerate函数来遍历这个列表,同时使用start参数来指定开始的索引。我们使用format方法构造单元格的名称,并将成绩写入相应的单元格。
- 保存文件:使用
workbook对象的save方法保存修改后的Excel文件。
workbook.save('students.xlsx')
这个例子中我们仍然使用了students.xlsx作为文件名,保存在原始文件的位置。如果你希望保存到不同的位置,请提供完整的路径。
完整的代码示例如下:
import openpyxl
workbook = openpyxl.load_workbook('students.xlsx')
sheet = workbook.active
sheet['C1'] = '成绩'
scores = [80, 75, 90, 85, 95]
for i, score in enumerate(scores, start=2):
cell = 'C{}'.format(i)
sheet[cell] = score
workbook.save('students.xlsx')
甘特图
以下是一个使用mermaid语法中的gantt标识的甘特图,展示了解决这个问题的过程:
gantt
dateFormat YYYY-MM-DD
title Python打开已有的Excel并写入某一列
section 准备工作
安装openpyxl库 :done, 2022-01-01,2022-01-01
导入openpyxl库 :done, 2022-01-01,2022-01-01
打开Excel文件 :done, 2022-01-02,2022-01-02
选择工作表 :done, 2022-01-02,2022-01-02
section 写入数据
写入标题 :done, 2022-01-03,2022-01-03
写入成绩 :done, 2022-01-04,2022-01-04
section 保存文件
保存Excel文件 :done, 2022-01-05,2022-01-05
















