Python3.8 拆分表格:按表头列内容分类并保存
以下是利用 openpyxl 库实现上述功能的代码:
import os
import openpyxl
from openpyxl.utils import column_index_from_string
# 设置工作目录和文件名
os.chdir('/Users/username/Desktop')
filename = 'example.xlsx'
# 打开 Excel 文件
wb = openpyxl.load_workbook(filename)
# 获取第一个工作表
sheet = wb.worksheets[0]
# 冻结窗格 A1 列
sheet.freeze_panes = 'B2'
# 获取表头列
header_col = sheet['B']
# 遍历表头列中的每个单元格
for cell in header_col[1:]:
# 获取表头列中相同内容的行
rows = [row for row in sheet.iter_rows(min_row=2, min_col=2, max_col=sheet.max_column) if row[0].value == cell.value]
# 如果有相同内容的行,则新建一个工作表并复制这些行
if rows:
# 新建工作表
new_wb = openpyxl.Workbook()
new_sheet = new_wb.active
# 复制表头
new_sheet['A1'] = sheet['A1'].value
new_sheet['B1'] = cell.value
# 复制相同内容的行
for row in rows:
new_sheet.append(row)
# 命名工作表并保存为新的 Excel 文件
new_filename = cell.value + '.xlsx'
os.makedirs(cell.value, exist_ok=True)
os.chdir(cell.value)
new_wb.save(new_filename)
os.chdir('..')
注:该代码需要在安装了 openpyxl 库的环境下运行。如果需要在其他位置保存生成的 Excel 文件,可以修改代码中的工作目录和文件名。
原文地址: https://www.cveoy.top/t/topic/fW7i 著作权归作者所有。请勿转载和采集!