手把手教你用Python批量实现在Excel后里面新加一列,并且内容为excel 表名(附源码)...
點擊上方“Python爬蟲與數據挖掘”,進行關注
回復“書籍”即可獲贈Python從入門到進階共10本電子書
今
日
雞
湯
打起黃鶯兒,莫教枝上啼。
????大家好,我是Python進階者。今天繼續給大家分享Python自動化辦公的內容,最近我發現學習自動化辦公的小伙伴還是挺多的,創建了一個自動化辦公專輯,歡迎大家前往學習:
【Excel篇】
1、盤點4種使用Python批量合并同一文件夾內所有子文件夾下的Excel文件內所有Sheet數據
2、手把手教你使用openpyxl庫從Excel文件中提取指定的數據并生成新的文件(附源碼)
3、手把手教你4種方法用Python批量實現多Excel多Sheet合并
4、手把手教你利用Python輕松拆分Excel為多個CSV文件
5、老板讓我從幾百個Excel中查找數據,我用Python一分鐘搞定!
6、Python+Excel+Word一秒制作百份合同
7、Python 自動整理 Excel 表格
8、利用Python將Word試卷匹配轉換為Excel表格
9、Py自動化辦公—Word文檔替換、Excel表格讀取、Pdf文件生成和Email自動郵件發送實戰案例
10、手把手教你用Python批量創建1-12月份的sheet表,每個表的第一行都有固定3個列標題:A,B,C
【未完待續......】
前言
????前幾天在鉑金交流群里,有個叫【🇼 🇺 🇱 🇦】的粉絲在Python交流群里問了一道關于Python自動化辦公的問題,初步一看覺得很簡單,實際上確實是有難度的,題目如下圖所示。
二、解決思路
????如果是按照常規思路,首先打開一個Excel表格,之后在表格的最后一列添加對應表名,如果只是一個表格,表格內容只有一行的話,這么操作,三下五除二就完活了。但是如果遇到很多個表格,如果再這樣逐個處理,就非常疲勞了。
????不過這里給大家介紹一個使用Python自動化辦公的方法來幫助大家解決問題,也保證不會出錯,大概幾秒鐘左右的時間就可以完成戰斗。
????其實【🇼 🇺 🇱 🇦】自己也嘗試使用Python來解決,不過卻遇到了點問題,雖然Excel文件是創建了,但是后面的列名寫入失敗了,而且他最后還需要進行合并Excel表格,所有這里其實是有兩個需求的。
三、解決方法
????這里給出【🌑(這是月亮的背面】大佬】提供的代碼,大體思路其實是差不多的,但是實現的方法卻是用Python程序來實現的,效率就十分不一樣了。下面直接來看代碼吧!
一、代碼一
??? i.stem的意思是獲取該文件的名稱,不包括父節點和后綴,例D:/Desktop/test.txt,i.stem就是test!
二、代碼二
# coding: utf-8 # 給每個excel中的sheet增加一列,值為excel名-sheet名.xlsx from pathlib import Path import pandas as pdpath = Path(r'E:\PythonCrawler\python_crawler-master\MergeExcelSheet\file\777') excel_list = [(i.stem, pd.concat(pd.read_excel(i, sheet_name=None))) for i in path.glob("*.xls*")] data_list = [] for name, data in excel_list:print(name)print(data)data['表名'] = namedata.reset_index(level=0, inplace=True) # 重置level_0索引data_list.append(data) result = pd.concat(data_list, ignore_index=True) result['表名'] = result['表名'] + '-' + result['level_0'] # 更改列值 del result['level_0'] # 刪除多余列 result.to_excel(path.joinpath('給每個excel中的sheet增加一列,值為excel名-sheet名.xlsx'), index=False, encoding='utf-8') print('添加和合并完成!')????這個代碼和代碼一其實是差不多的,就是列名這塊稍微有些命名不同,因為示例的這3個excel里的sheet名相同,就用表名做了前綴,表名-sheet名 了。
????代碼運行之后,在代碼目錄下會自動生成相應的Excel文件,如下圖所示。
????之后每個Excel表格中,也有對應的表格名稱對應的列名,而且還實現了所有表格的合并功能,如下圖所示。
????如果對Excel合并知識感興趣的話,可以戳這篇文章學習下:盤點4種使用Python批量合并同一文件夾內所有子文件夾下的Excel文件內所有Sheet數據,干貨滿滿噢!
四、總結
??? 我是Python進階者。本文基于粉絲針對Python自動化辦公的提問,給出了一個利用Python基礎+pandas文件處理的解決方案,完全滿足了粉絲的要求,給粉絲節約了大量的時間。
????最后感謝【🌑(這是月亮的背面】大佬提出的代碼和建議,感謝【🇼 🇺 🇱 🇦】提問,感謝【冫馬讠成】等人的參與探討學習。文章給出了兩種解決方法,如果你也有其他的方法,也可以隨時分享給我噢!人生苦短,我用python!
????更多Python自動化辦公的相關代碼,我已經上傳到git,歡迎大家下載和star支持。
https://github.com/cassieeric/Python-office-automation????小伙伴們,快快用實踐一下吧!如果在學習過程中,有遇到任何問題,歡迎加我好友,我拉你進Python學習交流群共同探討學習。
-------------------?End?-------------------
往期精彩文章推薦:
Python中encode和encoding的區別是什么?
手把手教你使用openpyxl庫從Excel文件中提取指定的數據并生成新的文件(附源碼)
手把手教你用Python來模擬繪制自由落體運動過程中的拋物線(附源碼)
盤點3種Python網絡爬蟲過程中的中文亂碼的處理方法
歡迎大家點贊,留言,轉發,轉載,感謝大家的相伴與支持
想加入Python學習群請在后臺回復【入群】
萬水千山總是情,點個【在看】行不行
/今日留言主題/
隨便說一兩句吧~~
總結
以上是生活随笔為你收集整理的手把手教你用Python批量实现在Excel后里面新加一列,并且内容为excel 表名(附源码)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 每学期都以NB的姿态出场
- 下一篇: 记录一下Vue中的created函数所踩