最近经常遇到一张超大的excel总表,看着不方便,就需要转为多个sheet页。本来想用VBA直接写宏的,结果发现网上的VBA教程都太不详细,就直接用python简单搞了,留着做个小工具。
#!/usr/bin/env python
# coding: utf-8
import pandas as pd
# 读文件
df = pd.read_excel("./###.xlsx",header = None)
# 删除全部为空的行
df = df.dropna(axis=0, how='all', thresh=None, subset=None, inplace=False)
###################################
# 修改参数配置
title = df.iloc[0]
startRow = 1
endRow = df.shape[0]
flagString = '小计'
###################################
# 写入excel中的sheet页
sheetNum = 0
writer=pd.ExcelWriter('多sheet页版本.xlsx')
for row in range(1,endRow):
item = df.iloc[row,0]
if item.strip() == flagString:
data = df.iloc[startRow:row + 1,:]
print(data.head())
data.to_excel(writer, df.iloc[startRow,0],index=False,header=title)
startRow = row +1
sheetNum += 1
writer.save()
print("over, sheetNum:", sheetNum)