Python如何打开已有的Excel并写入某一列

本文将介绍如何使用Python打开已有的Excel文件,并将数据写入Excel文件的某一列。我们将通过一个实际问题来演示这个过程,并提供相应的示例代码。

问题描述

假设我们有一个存储学生信息的Excel文件,其中包含学生的姓名、年龄和成绩。我们想要使用Python打开这个Excel文件,并将学生的成绩写入Excel文件的某一列。

解决方案

我们可以使用Python的openpyxl库来处理Excel文件。openpyxl是一个功能强大且易于使用的库,可以读取、写入和修改Excel文件。

以下是解决这个问题的步骤:

  1. 安装openpyxl库:在终端或命令提示符中运行以下命令来安装openpyxl库:
pip install openpyxl
  1. 导入openpyxl库:在Python代码中导入openpyxl库,以便使用它的功能。
import openpyxl
  1. 打开Excel文件:使用openpyxl库的load_workbook函数打开Excel文件。
workbook = openpyxl.load_workbook('students.xlsx')

这里假设我们的Excel文件名为students.xlsx,请根据实际情况替换为自己的文件名。如果Excel文件与Python代码不在同一个目录下,我们需要提供文件的完整路径。

  1. 选择工作表:使用workbook对象的active属性选择工作表。
sheet = workbook.active
  1. 写入数据:使用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方法构造单元格的名称,并将成绩写入相应的单元格。

  1. 保存文件:使用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