python:使用openpyxl模块处理excel

前言

        最近在实践excel的处理,在此途中,我彻底抛弃了xlwt + xlrd的组合,投入了openpyxl这一模块的怀抱。

        并成功实现了excel单元格数据的快速访问、修改、样式保持,以及添加填充色等功能。

        至于为什么写这个博客,主要是因为现在csdn里留着很多关于xlwt + xlrd的无脑使用,这为其他开发人员设置了一种过时的误区。

        这里我提供一些详细的测试代码,截止现在它们都可以直接运行,或许将为你的功能添砖加瓦。

 

代码

        1、获得目标行目标列、制定单元格的数据

from openpyxl import load_workbook

# 打开现有的Excel文件
wb = load_workbook("appendix/test_openpyxl.xlsx")

# 获取活动的Worksheet
ws = wb.active

"""
    读取行数据
"""
# 读取第二行的数据
second_row = []
for cell in ws[2]:  # ws[2] 表示第二行的单元格对象
    second_row.append(cell.value)
print("第二行的数据:", second_row)

"""
    读取列数据
"""
# 读取从第一行开始的 从第四列开始至第六列结束的所有数据集(二维列表)
rows = ws.iter_rows(min_row=1, min_col=4, max_col=6, values_only=True)
fourth_column = []
for row in rows:
    fourth_column.append(row)
print("四五六列的所有数据:", fourth_column)

# fourth_column[row][col]
# row:以起始行开始计算的列号,这里相当于1+1=2行
# col:以起始列开始计算的列号,这里相当于4+1=5列
print('第五列第二行数据:', fourth_column[1][1])

"""
    读取精准行列数据
"""
print('第12列第4行数据:', ws.cell(row=4, column=12).value)

# 关闭Excel文件
wb.close()

        2、在保持原模板样式不变的条件下变更数据、以及新增样式

from openpyxl import load_workbook

# 1. 读取原Excel文件
original_file_path = 'appendix/test.xlsx'
workbook_original = load_workbook(original_file_path)

workbook_original_sheet = workbook_original.active

# 3. 复制原Excel的内容到新文件
sheet_original = workbook_original.active

# 4. 获取M列数据项
column_M = sheet_original['M']

# 5. 输出M列的数据项
for index, cell in enumerate(column_M):
    print(cell.value)

# 6. 修改内容(例如修改M3单元格内容)
workbook_original_sheet['M3'] = '通过'

# 这是另外一种修改方式,row是指定行,column是指定列 这里表示 3行13列
# workbook_original_sheet.cell(row=3, column=13, value='通过')

# 7. 检查M列,若值为 通过则标绿,不通过标红
for index, cell in enumerate(column_M):
    status = cell.value
    if status == "通过":
        fill = PatternFill(start_color="00FF00", end_color="00FF00", fill_type="solid")  # 绿色
    elif status == '不通过':
        fill = PatternFill(start_color="FF0000", end_color="FF0000", fill_type="solid")  # 红色
    else:
        continue
    cell.fill = fill

# 8. 保存新的Excel文件
new_file_path = 'test_manfish.xlsx'
workbook_original.save(new_file_path)

        创作不易,点个关注行不行 

 

相关推荐

  1. python使用openpyxl模块处理excel

    2024-07-10 14:22:01       7 阅读
  2. python使用openpyxl模块处理excel

    2024-07-10 14:22:01       9 阅读
  3. python excel openpyxl

    2024-07-10 14:22:01       10 阅读
  4. python-自动化篇-办公-Excel-Openpyxl

    2024-07-10 14:22:01       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 14:22:01       4 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 14:22:01       5 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 14:22:01       4 阅读
  4. Python语言-面向对象

    2024-07-10 14:22:01       5 阅读

热门阅读

  1. pg数据库时间比较

    2024-07-10 14:22:01       8 阅读
  2. C# 枚举的定义及使用

    2024-07-10 14:22:01       14 阅读
  3. Prompt Engineering 探险

    2024-07-10 14:22:01       8 阅读
  4. 机器学习之神经网络

    2024-07-10 14:22:01       14 阅读
  5. Lianwei 安全周报|2024.07.09

    2024-07-10 14:22:01       6 阅读
  6. 每天一个数据分析题(四百一十八)- 相关分析

    2024-07-10 14:22:01       9 阅读
  7. 计算机网络面试常见题目(一)

    2024-07-10 14:22:01       12 阅读
  8. vue配置sql规则

    2024-07-10 14:22:01       9 阅读
  9. ios 企业签名证书购买_iOS苹果企业签名须知

    2024-07-10 14:22:01       10 阅读
  10. android 使用系统工具bootchart统计开机时长

    2024-07-10 14:22:01       13 阅读
  11. 【工具分享】FOFA——网络空间测绘搜索引擎

    2024-07-10 14:22:01       9 阅读
  12. 物联网应用,了解一点 WWAN全球网络标准

    2024-07-10 14:22:01       11 阅读