python製作excel分表(按照某一列分類拆分)(一)

一、按某一列分類拆分成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))

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章