Python实例题:Python操作excel自动化开发

目录

Python实例题

题目

安装依赖库

示例代码

代码解释

写入 Excel 文件:

读取 Excel 文件:

修改 Excel 文件:

运行思路

注意事项

Python实例题

题目

Python操作excel自动化开发

安装依赖库

pip install openpyxl

示例代码

import openpyxl
from openpyxl.utils import get_column_letter

# 写入 Excel 文件
def write_to_excel(file_path, data):
    """
    写入数据到 Excel 文件
    :param file_path: Excel 文件路径
    :param data: 要写入的数据,二维列表形式
    """
    workbook = openpyxl.Workbook()
    sheet = workbook.active

    for row_index, row_data in enumerate(data, start=1):
        for col_index, cell_value in enumerate(row_data, start=1):
            col_letter = get_column_letter(col_index)
            cell = f'{col_letter}{row_index}'
            sheet[cell] = cell_value

    workbook.save(file_path)
    print(f"数据已写入 {file_path}")

# 读取 Excel 文件
def read_from_excel(file_path):
    """
    从 Excel 文件中读取数据
    :param file_path: Excel 文件路径
    :return: 读取的数据,二维列表形式
    """
    workbook = openpyxl.load_workbook(file_path)
    sheet = workbook.active
    data = []
    for row in sheet.iter_rows(values_only=True):
        data.append(list(row))
    return data

# 修改 Excel 文件
def modify_excel(file_path, row_index, col_index, new_value):
    """
    修改 Excel 文件中的指定单元格
    :param file_path: Excel 文件路径
    :param row_index: 行索引(从 1 开始)
    :param col_index: 列索引(从 1 开始)
    :param new_value: 新的值
    """
    workbook = openpyxl.load_workbook(file_path)
    sheet = workbook.active
    col_letter = get_column_letter(col_index)
    cell = f'{col_letter}{row_index}'
    sheet[cell] = new_value
    workbook.save(file_path)
    print(f"已将 {cell} 单元格的值修改为 {new_value}")


if __name__ == "__main__":
    # 示例数据
    sample_data = [
        ["姓名", "年龄", "城市"],
        ["张三", 25, "北京"],
        ["李四", 30, "上海"],
        ["王五", 22, "广州"]
    ]

    # 写入数据到 Excel 文件
    file_path = "example.xlsx"
    write_to_excel(file_path, sample_data)

    # 读取 Excel 文件中的数据
    read_data = read_from_excel(file_path)
    print("读取的数据:")
    for row in read_data:
        print(row)

    # 修改 Excel 文件中的数据
    modify_excel(file_path, 2, 2, 26)
    

代码解释

  • 写入 Excel 文件

    • write_to_excel 函数接收文件路径和要写入的数据。创建一个新的工作簿和工作表,遍历数据并将其逐行逐列写入工作表中,最后保存工作簿。
  • 读取 Excel 文件

    • read_from_excel 函数接收文件路径,加载指定的工作簿和工作表,使用 iter_rows 方法遍历工作表中的每一行,将每行数据添加到结果列表中并返回。
  • 修改 Excel 文件

    • modify_excel 函数接收文件路径、行索引、列索引和新的值。加载工作簿和工作表,根据行列索引定位到指定单元格,将其值修改为新的值,最后保存工作簿。

运行思路

将上述代码保存为 excel_automation.py 文件,在终端中运行:

python excel_automation.py

运行后,会在当前目录下生成一个名为 example.xlsx 的 Excel 文件,包含示例数据。然后读取该文件中的数据并打印出来,最后修改指定单元格的值。

注意事项

  • openpyxl 主要用于处理 .xlsx 格式的 Excel 文件,如果需要处理 .xls 格式的文件,可以使用 xlrd 和 xlwt 库。
  • 在操作 Excel 文件时,要确保文件没有被其他程序占用,否则可能会出现文件读写错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值