python辦公自動化|批量處理文件,一學就會

2021-01-08 CDA數據分析師

作者:劉早起

來源:早起Python

大家好,又到了python辦公自動化專題。要說在工作中最讓人頭疼的就是用同樣的方式處理一堆文件夾中文件,這並不難,但就是繁。所以在遇到機械式的操作時一定要記得使用Python來合理偷懶!今天我將以處理微博熱搜數據來示例如何使用Python批量處理文件夾中的文件,主要將涉及:

Python批量讀取不同文件夾()Pandas數據處理()Python操作Markdown文件()需求分析

首先來說明一下需要完成的任務,下面是我們的文件夾結構

因為微博歷史熱搜是沒有辦法去爬的,所以只能寫一個爬蟲每天定時爬取熱搜並保存,所以在我當時分析數據時使用的就是上圖展示的數據,每天的數據以套娃形式被保存在三級目錄下,並且熱搜是以markdown文件存儲的,打開是這樣

而我要做的就是將這三個月的微博熱搜數據處理成這樣

這困難嗎,手動的話無非是依次點三下進入每天的數據文件夾再打開md文件手動複製粘貼進Excel,不就幾萬條數據,大不了一天不吃飯也能搞定!現在我們來看看如何用Python光速處理。

Python實現

在操作之前我們來思考一下如何使用Python實現,其實和手動的過程類似:先讀取全部文件,再對每一天的數據處理、保存。所以第一步就是將我們需要的全部文件路徑提取出來,首先導入相關庫

import pandas as pd

import os

import glob

from pathlib import Path

讀取全部文件名的方法有很多比如使用OS模塊

但是由於我們是多層文件夾,使用OS模塊只能一層一層讀取,要寫多個循環從而效率不高,所以我們告別os.path使用Pathlib來操作,三行代碼就能搞定,看注釋

from pathlib import Path

p = Path("/Users/liuhuanshuo/Desktop/熱搜數據/") #初始化構造Path對象

FileList=list(p.glob("**/*.md")) #得到所有的markdown文件

來看下結果

成功讀取了熱搜數據下多層文件夾中的全部md文件!但是新的問題來了,每天有兩條熱搜匯總,一個11點一個23點,考慮到會有重合數據所以我們在處理之前先進行去重,而這就簡單了,不管使用正則表達式還是按照奇偶位置提取都行,這裡我是用lambda表達式一行代碼搞定。

filelist = list(filter(lambda x: str(x).find("23點") >= 0, FileList))

現在我們每天就只剩下23點的熱搜數據,雖然是markdown文件,但是Python依舊能夠輕鬆處理,我們打開其中一個來看看。

打開方式和其他文件類似使用with語句,返回一個list,但是這個list並不能直接為我們所用,第一個元素包含時間,後面每天的熱搜和熱度也不是直接存儲,含有markdown語法中的一些沒用的符號和換行符,而清洗這些數據就是常規操作了,使用下面的代碼即可,主要就是使用正則表達式,看注釋:

with open(file) as f:

lines = f.readlines()

lines = [i.strip() for i in lines] #去除空字符

data = list(filter(None, lines))

del data[0]

data = data[0:100]

date = re.findall('年(.+)2',str(file))[0]

content = data[::2] #奇偶分割

rank = data[1::2]

#提取內容與排名

for i in range(len(content)):

content[i] = re.findall('、(.+)',content[i])[0]

for i in range(len(rank)):

rank[i] = re.findall(' (.+)',rank[i])[0]

最後只需要寫一個循環遍歷每一天的文件並進行清洗,再創建一個DataFrame用於存儲每天的數據即可。

可以看到,並沒有使用太複雜的代碼就成功實現了我們的需求!

結束語

以上就是使用Python再一次解放雙手並成功偷懶的案例,可能讀取Markdown文件在你的日常工作中並用不到,但是通過本案例希望你能學會如何批量處理文件夾,批量讀取清洗數據。更重要的是在你的工作學習中,遇到需要重複操作的任務時,是否能夠想起使用Python來自動化解決!拜拜,我們下個案例見~

相關焦點

  • python辦公自動化|批量處理文件,一學就會
    辦公自動化專題。要說在工作中最讓人頭疼的就是用同樣的方式處理一堆文件夾中文件,這並不難,但就是繁。所以在遇到機械式的操作時一定要記得使用Python來合理偷懶!今天我將以處理微博熱搜數據來示例如何使用Python批量處理文件夾中的文件,主要將涉及:Python批量讀取不同文件夾(⭐⭐⭐)
  • python自動化辦公|批量處理Excel文件的利器
    Excel是當前最流行的辦公軟體之一,在數據統計、處理和分下方面都有獨特的優勢其實python能做的,excel都能做,但是為什麼我們還要學python呢?python的優勢在於批量處理重複性、機械性的事物,試想一下,如果你老闆讓請把100個表格內的標題統一改成另一格式,你會不會發瘋?
  • Python自動化辦公知識點整理匯總
    知乎上有人提問:用python進行辦公自動化都需要學習什麼知識呢?這可能是很多非IT職場人士面臨的困惑,想把python用到工作中,卻不知如何下手?python在自動化辦公領域越來越受歡迎,批量處理簡直是加班族的福音。
  • 講一講我是如何通過Python實現辦公自動化的
    自動化辦公無非是excel、ppt、word、郵件、文件處理、數據分析處理、爬蟲這些,今天我們主要來講講excel、ppt、word自動化的操作技巧。我們需要學習的主要內容有:python基礎;excel自動化;ppt自動化;word自動化。1、python基礎能做這些的前提是會使用Python,最起碼要熟悉基本語法,可以編寫小腳本。
  • 用python進行辦公自動化都需要學習什麼知識
    用python進行辦公自動化都需要學習什麼知識呢?  這可能是很多非IT職場人士面臨的困惑,想把python用到工作中,卻不知如何下手?python在自動化辦公領域越來越受歡迎,批量處理簡直是加班族的福音。  自動化辦公無非是excel、ppt、word、郵件、文件處理、數據分析處理、爬蟲這些,這次就來理一理python自動化辦公的那些知識點。
  • Python辦公自動化|批量提取Excel數據
    今天我們來講解一個比較簡單的案例,使用openpyxl從Excel中提取指定的數據並生成新的文件,之後進一步批量自動化實現這個功能,通過本例可以學到的知識點:openpyxl模塊的運用glob模塊建立批處理
  • Python之父Guido van Rossum:教你用「膠水語言」實現辦公自動化
    大家好,又到了Python辦公自動化系列。在之前的自動化系列文章中,我們分別講過如何使用Python將Word中表格信息批量提取至Excel,也講過如何將多個Excel表格匯總至Word,今天繼續講解如何將文字從PPT中提取出來並寫入Word,主要將涉及如何使用python-pptx和python-docx交互操作word和ppt文件!
  • Python之父Guido van Rossum:教你用「膠水語言」實現辦公自動化
    大家好,又到了Python辦公自動化系列。在之前的自動化系列文章中,我們分別講過如何使用Python將Word中表格信息批量提取至Excel,也講過如何將多個Excel表格匯總至Word,今天繼續講解如何將文字從PPT中提取出來並寫入Word,主要將涉及如何使用python-pptx和python-docx交互操作word和ppt文件!
  • Python可以實現自動化辦公
    隨著Python在職場人心中的地位逐漸上升,許多公司在招聘當中也開始傾向於掌握Python技能的應聘者,就連一些非網際網路公司也開始把「會python優先」寫在招聘JD裡。而之所以出現這種現象,其實和Python能夠解放人的雙手,實現自動化辦公。而對於沒有接觸過Python的人來說,你可能有點不敢相信,那小P君帶大家了解一下吧!
  • Python自動化辦公(內容)
    python自動化辦公(python操作Excel、Word、PDF、PPT)python使用openpyxl操作excel;python使用PyPDF2和pdfplumber操作pdf;python使用python-docx操作word;python使用python-pptx操作PPT;python如何自動收發郵件;python製作電話號碼歸屬地查詢工具;一:python
  • 編程界新晉「網紅」Python到底是什麼?學Python真的有用嗎?
    舉例:「文件批量重命名」,我們來拆解一下手動完成這個任務需要的步驟。自動化辦公要處理的就是將這個邏輯向計算機解釋清楚,並讓它為你工作的這麼一個過程,我們只需要編寫一套「Excel表格批量修改」的程序,就能消除修改多個表格信息時所做的重複勞動,這也是屬於自動化辦公的一種應用方式。最近這些年,自動化辦公應用的發展給傳統辦公帶來的衝擊越來越大了。我們不妨回想一下自己的每天工作,有多少是創造性的,又有多少是重複勞動?
  • python批量操作文件——改文件名,合併多文件內容
    批量操作在辦公中非常常見,比如對一個文件夾中的幾百張圖片重新命名,又比如將幾十個txt文件合併到一個txt中,這些都是重複性的工作。在python盛行的時代,何不讓幾行代碼替你做?省時省力效率高!高效率辦公今天主要用到python當中的os模塊,來完成改文件名,合併多文件內容這兩個實戰
  • Python自動化辦公文章,開放下載共97頁PDF
    發現很多讀者對python自動化辦公(python操作Excel、Word、PDF因此,我直接寫了一個文檔《python自動化辦公系列文章》供大家學習參考,已經整理成冊(如下圖所示),共六個章節97頁,不僅有詳細的代碼解釋,而且還有詳細的圖文說明,通俗易懂,讓你輕鬆完成辦公自動化。
  • Python辦公自動化:使用python來自動生成word文檔
    讓python做辦公自動化,讓你閒下來讓python做自動化,讓你閒下來上節對python的excel Python辦公自動化系列:自動操作Excel自動化做了介紹。這次介紹如何用python對word進行自動生成。
  • python自動化辦公:文件篇(自動整理文件,一鍵完成)
    文件整理不得不先提一下正則表達式python :re模塊基本用法私信小編01即可獲取大量Python學習資料一.列出文件夾下的所有文件索引值為0的表元素是文件夾名稱,據此可以知道當前在處理的文件夾是哪一個。索引值為1的表元素是下一層文件夾列表,用來了解在此文件夾中還有幾個下層文件夾,分別叫什麼名字。索引值為2的元素是本文件夾內所有的文件列表,列出此文件夾中所有的文件名。由返回值的列表數據,組合出所有往下的樹狀目錄結構的內容。
  • Python自動化辦公——這裡有你不知道的Python批量處理小技巧
    今天給大家分享幾個Python批量處理的基操,話不多說,直接開整!喜歡的收藏,轉發,點讚關注,感謝您一直以來的支持!file_news = today+os.sep+item+&39; z = zipfile.ZipFile(file_news,&39;) z.write(start_dir+os.sep+item,item) 完成寫入後關閉對象print(item)print (&39;)批量新建文件夾
  • Python幫你自動化處理文件
    本文將展示如何自動化這些繁瑣的操作:· 遍歷一個目錄中的文件· 創建尚未建立的嵌套文件· 使用bash for循環來運行一個有多個輸入端的文件在處理數據科學項目時,這些技巧為筆者節省了大量的時間。希望對你也有用!
  • 為什麼有些人不用Word而用Python?Python或會取代wps?
    python相比於word更擅長處理數據。wps套件中的word雖然也可以處理數據,但是其功能遠不如python強大,也不如python靈活多變。wps套件中的word更擅長簡單的數據處理,以及數據的展示。 python可以自動化辦公,及時接受反饋信息。
  • 財碼Python課程上新!Python+Excel辦公自動化,帶你彎道超車!
    減少重複勞動+提升工作效率,是很多財務人想要學Python的出發點。財務人最常用的工具是Excel,儘管Excel已經提供了很多處理數據的功能,但是你依然可能每天被無聊的任務煩惱。如果你通過讀取每個文件、排序並篩選特定的數據來完成這些任務,那麼可能需要幾個小時,甚至幾天或幾周。但是,在Python的幫助下,你只需花上幾分鐘編寫一個簡單的程序,這些枯燥無聊的工作會很快被計算機完成。如果說內置的VBA是Excel自帶的寶劍,那麼Python就是Excel外部的利刃。
  • 如何用Python幫你自動化處理文件
    讀寫、創建和運行許多代碼文件是件非常耗時的事。本文將展示如何自動化這些繁瑣的操作:· 遍歷一個目錄中的文件· 創建尚未建立的嵌套文件· 使用bash for循環來運行一個有多個輸入端的文件在處理數據科學項目時,這些技巧為筆者節省了大量的時間。希望對你也有用!