如何使用openpyxl修改Excel单元格并按指定格式读写Excel数据
openpyxl Excel操作实现代码
1. 修改Excel所有单元格的方法
首先安装依赖:pip install openpyxl
实现代码示例:
from openpyxl import load_workbook # 加载本地Excel文件 wb = load_workbook("你的源文件路径.xlsx") # 遍历文件内所有工作表 for ws in wb.worksheets: # 遍历当前工作表所有包含数据的单元格 for row in ws.iter_rows(): for cell in row: # 此处可自定义修改逻辑,示例为给所有非空单元格值加统一前缀 if cell.value is not None: cell.value = f"自定义前缀_{cell.value}" # 保存修改后的文件 wb.save("修改后文件.xlsx")
可根据实际需求调整修改逻辑,比如替换特定内容、调整数值格式、修改单元格样式等。
2. 输入表转指定格式输出表的实现
表结构说明
- 输入表:行式存储的原始数据表,每条数据占单独一行,包含多列业务字段
- 输出表:拆分排版格式,单条原始数据拆分为多行展示,不同数据间预留空行分隔


实现代码示例
from openpyxl import load_workbook, Workbook # 读取输入文件 input_wb = load_workbook("输入文件路径.xlsx") input_ws = input_wb.active # 可根据实际替换为指定工作表名,如input_wb['工作表名'] # 新建输出文件 output_wb = Workbook() output_ws = output_wb.active # 定义输出表的起始写入行号 current_row = 1 # 遍历输入表数据,若需跳过表头可修改为input_ws.iter_rows(min_row=2, values_only=True) for row in input_ws.iter_rows(values_only=True): # 以下写入规则可根据截图实际格式调整,示例为每个字段单独占一行 output_ws.cell(row=current_row, column=1, value="字段1名称") output_ws.cell(row=current_row, column=2, value=row[0]) current_row += 1 output_ws.cell(row=current_row, column=1, value="字段2名称") output_ws.cell(row=current_row, column=2, value=row[1]) current_row += 1 output_ws.cell(row=current_row, column=1, value="字段3名称") output_ws.cell(row=current_row, column=2, value=row[2]) current_row += 1 # 单条数据写完后空一行,再写下一条数据 current_row += 1 # 保存输出文件 output_wb.save("输出文件.xlsx")
可根据截图实际要求调整字段对应关系、列宽、字体样式等参数,匹配最终输出效果。
内容的提问来源于stack exchange,提问作者anu
相关产品推荐
相关产品推荐

