python——合並指定文件夾下的工作簿和按照某一個列拆分工作簿


python——合並指定文件夾下的工作簿和按照某一個列拆分工作簿

作者:故箋/gujian

鏈接地址:https://www.cnblogs.com/gujianjian/p/12858578.html

說明:碼農不易,請尊重他人勞動成果共創和諧網絡環境。本文非常歡迎轉載但請備注原作出處,違者必究。

隨便寫得一個小def,不想寫過程了,直接貼代碼。

合並

 1 def combine_excelfile(path,new_combinefille_path,type):#合並指定文件夾下的所有工作簿,type選定合並為一個表還是多個表,作者:故箋
 2     listfile_path = GetTxtName(path)
 3     # 3、選擇數字文件名的數據,isdigit函數判斷是否數字,isalpha判斷是否字母或漢字,isalnum判斷是否數字和字母或漢字的組合.如果想判斷漢字的話。可以使用
 4     # zhmodel = re.compile(u'[\u4e00-\u9fa5]'),res = zhmodel.search(driver_number)
 5     #listfile_path = [x for x in listfile_path if x.isdigit()]  # 列表解析處理
 6     if type == 0:
 7         file_data = pd.DataFrame()
 8         for i in listfile_path:
 9             file_path = path + '\\' + i
10             dfdata = pd.read_excel(file_path)
11             file_data = file_data.append(dfdata, ignore_index=True)
12         file_data.to_excel(new_combinefille_path, encoding='utf_8_sig', index=None)
13         print('文件已合並:', new_combinefille_path)
14     elif type == 1:
15         writer = pd.ExcelWriter(new_combinefille_path)
16         for i in listfile_path:
17             file_path = path + '\\' + i
18             name = os.path.splitext(i)[0]
19             dfdata = pd.read_excel(file_path)
20             dfdata.to_excel(writer,sheet_name=name, encoding='utf_8_sig', index=None)
21         writer.save()
22         print('文件已合並:', new_combinefille_path)
23     else:
24         print('請輸入type合並類型:0,合並成一張工作表;1,合並成多個sheet')

拆分

 1 def split_excelfile(file,appoint_type,save_path):
 2     dfdata = pd.read_excel(file)
 3     list = dfdata[appoint_type]
 4     list = list.drop_duplicates()
 5     list = list.values.tolist()
 6     print(list)
 7     for i in list:
 8         df = dfdata[dfdata[appoint_type].isin([i])]
 9         save_path_file = save_path + '\\' + str(i) + '.xlsx'
10         print('正在拆分:',save_path_file)
11         df.to_excel(save_path_file, sheet_name=str(i), encoding='utf_8_sig', index=None)
12     print('文件拆分完畢,已保存在:', save_path)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM