一、按某一列分類拆分成sheet文件
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#-*-coding:gb2312 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf8')
from openpyxl import load_workbook
import pandas as pd
import numpy as np
IO='C:\\Users\\23898\\Desktop\\1.xlsx'
def _excelAddSheet(dataframe,excelWriter,sheet_name):
book = load_workbook(excelWriter.path)
excelWriter.book = book
dataframe.to_excel(excel_writer=excelWriter,sheet_name=sheet_name,index=None)
excelWriter.close()
if __name__ == '__main__':
df=pd.read_excel(IO)
writer = pd.ExcelWriter(IO)
excelWriter = pd.ExcelWriter(IO,engine='openpyxl')
data=df.ix[:,['部門(欄目)']].values#讀所有行的title以及data列的值,這裏需要嵌套列表
DepartmentList=[]
for department in data:
if department in DepartmentList:
# print(department)
pass
elif department[0]!=u'小計' and department[0]!=u'合計':
DepartmentList.append(department)
df2 = df.loc[df['部門(欄目)'] == department[0]]
# df2.to_excel(excel_writer=writer,sheet_name=department[0])
_excelAddSheet(df2, excelWriter, department[0])
二、按某一列拆分成excel工作簿文件
上一段代碼用python2.7,總是會有中文文件名亂碼的問題,不停解決太麻煩了,以下索性安裝了python3
爲解決我實際工作中的需要,還需完善,後續更新~
代碼來源https://blog.csdn.net/weixin_41278904/article/details/100112669
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#coding:utf8
#-*-coding:gb2312 -*-
from openpyxl import load_workbook
import pandas as pd
import numpy as np
IO='C:\\Users\\23898\\Desktop\\1\\1.xlsx'
df=pd.read_excel(IO)
bumen_list=list(df['部門(欄目)'].drop_duplicates())
for i in bumen_list:
df1=df[df['部門(欄目)'] == i]
df1.to_excel('C:\\Users\\23898\\Desktop\\1\\%s.xlsx'%(i))