成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

手把手教你用Python批量實現在Excel后里面新加一列,并且內容為Excel表名

開發 后端
本文基于粉絲針對Python自動化辦公的提問,給出了一個利用Python基礎+pandas文件處理的解決方案,完全滿足了粉絲的要求,給粉絲節約了大量的時間。

[[441492]]

前言

前幾天在鉑金交流群里,有個叫【🇼 🇺 🇱 🇦】的粉絲在Python交流群里問了一道關于Python自動化辦公的問題,初步一看覺得很簡單,實際上確實是有難度的,題目如下圖所示。

二、解決思路

如果是按照常規思路,首先打開一個Excel表格,之后在表格的最后一列添加對應表名,如果只是一個表格,表格內容只有一行的話,這么操作,三下五除二就完活了。但是如果遇到很多個表格,如果再這樣逐個處理,就非常疲勞了。

不過這里給大家介紹一個使用Python自動化辦公的方法來幫助大家解決問題,也保證不會出錯,大概幾秒鐘左右的時間就可以完成戰斗。

其實【🇼 🇺 🇱 🇦】自己也嘗試使用Python來解決,不過卻遇到了點問題,雖然Excel文件是創建了,但是后面的列名寫入失敗了,而且他最后還需要進行合并Excel表格,所有這里其實是有兩個需求的。

三、解決方法

這里給出【🌑(這是月亮的背面】大佬】提供的代碼,大體思路其實是差不多的,但是實現的方法卻是用Python程序來實現的,效率就十分不一樣了。下面直接來看代碼吧!

一、代碼一

  1. # coding: utf-8 
  2. # 給每個excel中的sheet增加一列,值為excel名.xlsx 
  3. from pathlib import Path 
  4. import pandas as pd 
  5.  
  6. path = Path(r'E:\PythonCrawler\python_crawler-master\MergeExcelSheet\file\777'
  7. excel_list = [(i.stem, pd.concat(pd.read_excel(i, sheet_name=None))) for i in path.glob("*.xls*")] 
  8. data_list = [] 
  9. for name, data in excel_list: 
  10.     print(name
  11.     print(data) 
  12.     data['表名'] = name 
  13.     data_list.append(data) 
  14. result = pd.concat(data_list, ignore_index=True
  15. result.to_excel(path.joinpath('給每個excel中的sheet增加一列,值為excel名.xlsx'), index=False, encoding='utf-8'
  16. print('添加和合并完成!'

i.stem的意思是獲取該文件的名稱,不包括父節點和后綴,例D:/Desktop/test.txt,i.stem就是test!

二、代碼二

  1. # coding: utf-8 
  2. # 給每個excel中的sheet增加一列,值為excel名-sheet名.xlsx 
  3. from pathlib import Path 
  4. import pandas as pd 
  5.  
  6. path = Path(r'E:\PythonCrawler\python_crawler-master\MergeExcelSheet\file\777'
  7. excel_list = [(i.stem, pd.concat(pd.read_excel(i, sheet_name=None))) for i in path.glob("*.xls*")] 
  8. data_list = [] 
  9. for name, data in excel_list: 
  10.     print(name
  11.     print(data) 
  12.     data['表名'] = name 
  13.     data.reset_index(level=0, inplace=True)  # 重置level_0索引 
  14.     data_list.append(data) 
  15. result = pd.concat(data_list, ignore_index=True
  16. result['表名'] = result['表名'] + '-' + result['level_0']  # 更改列值 
  17. del result['level_0']  # 刪除多余列 
  18. result.to_excel(path.joinpath('給每個excel中的sheet增加一列,值為excel名-sheet名.xlsx'), index=False, encoding='utf-8'
  19. print('添加和合并完成!'

這個代碼和代碼一其實是差不多的,就是列名這塊稍微有些命名不同,因為示例的這3個excel里的sheet名相同,就用表名做了前綴,表名-sheet名 了。

代碼運行之后,在代碼目錄下會自動生成相應的Excel文件,如下圖所示。

之后每個Excel表格中,也有對應的表格名稱對應的列名,而且還實現了所有表格的合并功能,如下圖所示。

如果對Excel合并知識感興趣的話,可以戳這篇文章學習下:盤點4種使用Python批量合并同一文件夾內所有子文件夾下的Excel文件內所有Sheet數據,干貨滿滿噢!

四、總結

我是Python進階者。本文基于粉絲針對Python自動化辦公的提問,給出了一個利用Python基礎+pandas文件處理的解決方案,完全滿足了粉絲的要求,給粉絲節約了大量的時間。

 

責任編輯:姜華 來源: Python爬蟲與數據挖掘
相關推薦

2021-08-09 13:31:25

PythonExcel代碼

2021-03-23 09:05:52

PythonExcelVlookup

2021-02-10 09:34:40

Python文件的壓縮PyCharm

2022-01-27 09:24:20

PythonExcelPython基礎

2021-12-11 20:20:19

Python算法線性

2022-10-19 14:30:59

2021-02-27 09:30:16

PythonExcelSheet

2021-02-02 13:31:35

Pycharm系統技巧Python

2021-05-10 06:48:11

Python騰訊招聘

2022-08-04 10:39:23

Jenkins集成CD

2017-10-29 21:43:25

人臉識別

2021-02-23 09:03:13

Python拆分ExcelCSV文件

2011-03-28 16:14:38

jQuery

2021-02-06 14:55:05

大數據pandas數據分析

2021-02-04 09:00:57

SQLDjango原生

2017-10-27 10:29:35

人臉識別UbuntuPython

2009-04-22 09:17:19

LINQSQL基礎

2021-05-17 21:30:06

Python求均值中值

2018-12-29 09:38:16

Python人臉檢測

2021-04-01 09:02:38

Python小說下載網絡爬蟲
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 网站黄色在线免费观看 | 精品香蕉一区二区三区 | 色播99 | 久久91精品 | 91视频三区 | 色噜噜狠狠色综合中国 | 91精品国产综合久久国产大片 | 99国产精品视频免费观看一公开 | 国产精品1区2区 | 精品视频成人 | 狼色网| 99re6在线视频精品免费 | 婷婷成人在线 | 在线激情视频 | 成人久久久 | 日韩精品激情 | 国产高清视频一区 | 成人高清视频在线观看 | 久久精品国产免费一区二区三区 | 九九久久精品视频 | 亚洲精品一区二区冲田杏梨 | 国产精品免费视频一区 | 久草视频在线播放 | 久久精品视频9 | 国产在线视频一区 | 免费精品久久久久久中文字幕 | 欧美激情精品久久久久久变态 | 欧美三区在线观看 | 91精品久久久久久久久久入口 | 国产在线中文 | 国产精品永久 | 精品福利在线 | 国产一区二区三区视频 | 久久精品一区二区 | 美国黄色毛片 | 夜夜干夜夜操 | 成人午夜网 | 国内精品视频在线观看 | 日韩精品一区二区三区在线播放 | 日韩精品1区2区 | 欧美精品综合 |