Python复制读写xlsx文件

在日常工作和学习中,我们经常会遇到需要操作Excel文件的场景。而Python作为一种功能强大且易于学习的编程语言,提供了许多库和工具来处理Excel文件。其中,openpyxl库是一个用于读写Excel文件的热门选择。本文将介绍如何使用Python的openpyxl库来复制、读写xlsx文件,并提供相应的代码示例。

安装openpyxl

在开始之前,我们需要先安装openpyxl库。我们可以使用pip命令来安装:

pip install openpyxl

复制xlsx文件

在处理Excel文件时,有时我们需要将一个文件的内容复制到另一个文件中。openpyxl库提供了一个简单的方法来实现这个目标。

import openpyxl

# 打开源文件
source_file = openpyxl.load_workbook('source.xlsx')
source_sheet = source_file.active

# 创建新文件
new_file = openpyxl.Workbook()
new_sheet = new_file.active

# 复制源文件到新文件
for row in source_sheet.iter_rows():
    for cell in row:
        new_sheet[cell.coordinate].value = cell.value

# 保存新文件
new_file.save('new.xlsx')

上面的代码首先打开源文件source.xlsx,并获取其中的活动工作表。然后,创建一个新的工作簿和工作表。接下来,代码通过遍历源工作表的所有单元格,并将其值复制到新工作表的对应单元格。最后,将新工作簿保存为new.xlsx

读写xlsx文件

除了复制文件,我们还可以使用openpyxl库来读取和写入xlsx文件的内容。下面的代码示例将演示如何读取和写入xlsx文件。

import openpyxl

# 打开文件
workbook = openpyxl.load_workbook('data.xlsx')
sheet = workbook.active

# 读取单元格内容
cell_value = sheet['A1'].value

# 写入单元格内容
sheet['B1'] = 'Hello, World!'

# 保存文件
workbook.save('data.xlsx')

上面的代码首先打开data.xlsx文件,并获取其中的活动工作表。然后,通过指定单元格的坐标来读取该单元格的值,并将其存储在cell_value变量中。接下来,代码将字符串Hello, World!写入单元格B1。最后,将更改后的工作簿保存到data.xlsx

甘特图

下面是使用mermaid语法中的gantt标识的甘特图,展示了上面代码中的流程:

gantt
    dateFormat  YYYY-MM-DD
    title       复制读写xlsx文件

    section 打开文件
    打开源文件               :done, 2022-01-01, 2d
    创建新文件               :done, 2022-01-03, 1d

    section 复制文件
    复制源文件到新文件        :done, 2022-01-04, 3d

    section 读写文件
    读取单元格内容           :done, 2022-01-07, 1d
    写入单元格内容           :done, 2022-01-08, 1d

    section 保存文件
    保存文件                 :done, 2022-01-09, 1d

序列图

下面是使用mermaid语法中的sequenceDiagram标识的序列图,展示了读写xlsx文件的流程:

sequenceDiagram
    participant 用户
    participant Python脚本
    participant Excel文件

    用户->>Python脚本: 执行脚本
    Python脚本->>Excel文件: 打开文件
    Excel文件->>Python脚本: 返回工作表
    Python脚本->>Excel文件: 读取单元格内容
    Excel文件->>Python脚本: 返回单元格值
    Python脚本->>Excel文件: 写入单元格内容
    Excel文件->>Python脚本: 保存文件
    Python脚本->>用户: 完