from openpyxl import load_workbook
from openpyxl.utils import get_column_letter
from openpyxl import Workbook
# 清除空行
def remove_empty_rows(file_path):
# 加载 Excel 文件
wb = load_workbook(file_path)
# 遍历每个表格
for sheet_name in wb.sheetnames:
# 获取当前表格
sheet = wb[sheet_name]
# 逆序遍历每一行
for row in reversed(sheet.iter_rows(min_row=1, max_row=sheet.max_row)):
# 检查是否是空行
is_empty = all(cell.value is None for cell in row)
# 如果是空行,则删除该行
if is_empty:
sheet.delete_rows(row[0].row, 1)
# 保存修改后的 Excel 文件
wb.save(file_path)
# 提取字段汇总
def extract_data(file_path, column_mapping):
# 加载 Excel 文件
wb = load_workbook(file_path)
# 创建一个新的工作簿用于存储汇总数据
wb_summary = Workbook()
ws_summary = wb_summary.active
# 汇总数据起始行
summary_start_row = 2
# 遍历每个表格
for sheet_name in wb.sheetnames:
# 获取当前表格
sheet = wb[sheet_name]
# 获取指定列的数据
column_data = {}
for column_name, alias in column_mapping.items():
column_index = get_column_letter(sheet[column_name + '1'].column)
column_data[alias] = [cell.value for cell in sheet[column_index]][1:]
# 将数据按列写入汇总表格
header_row = 1
# 写入表头
for index, alias in enumerate(column_mapping.values(), start=1):
ws_summary.cell(row=header_row, column=index, value=alias)
# 写入数据
for index, alias in enumerate(column_mapping.values(), start=1):
column_values = column_data[alias]
for row_index, value in enumerate(column_values, start=summary_start_row):
ws_summary.cell(row=row_index, column=index, value=value)
# 更新汇总数据起始行
summary_start_row += len(column_values)
# 保存汇总数据到新的 Excel 文件
wb_summary.save('result.xlsx')
# 示例用法
file_path = 'summary.xlsx' # 替换为你的 Excel 文件路径
column_mapping = {
'A': '标题一',
'C': '标题三'
} # 替换为你要提取的列的名称和别名的映射关系
extract_data(file_path, column_mapping)
源码用python将一个Excel表里多个sheet相同的列进行提取并汇总
需积分: 0 171 浏览量
更新于2023-05-25
6
收藏 18KB RAR 举报
1、用pyhon+openpyxl 读取Excel表
2、设定要提取的多个sheet的列
3、运行并提取对应的列的信息,可以为对应的列添加别名
4、输出一个新的Excel文件
压缩包其中含有【源码】文件可供参考学习,summary.xlsx是源数据示例文件,result.xlsx是输出的结果文件。
有需要的小伙伴可以多交流学习。

無薪法师
- 粉丝: 1407
最新资源
- 物联网原理和应用(1).pptx
- 基于互联网+背景下的中小型企业会计信息化服务研究(1).docx
- plc装配流水线控制(1).docx
- 会计实务:利用Excel编制现金流量表的公式-(2)(1).doc
- 试论计算机专业毕业设计(论文)质量的提高(1).docx
- 互联网+时代高职思政教育探究(1).docx
- 高等学校数据库课程教学改革研究(1).docx
- 刍议小学数学深度学习教学策略(1).docx
- 网络通信协议(1).doc
- 互联网时代电子商务在农业经济发展中的有效应用(1).docx
- 2018-年上半年数据库系统工程师考试上午真题+下午真题(1).docx
- 计算机专业的毕业生求职信范文(1).doc
- 流程再造原则与企业信息化(1).pptx
- ACCESS查询教程包含常用函数专题名师优质课获奖(1).ppt
- 浅析计算机技术的发展给动画创作带来的影响(1).docx
- 关于中职汽车运用与维修专业信息化教学改革的探索(1).docx