此篇文章主要是給大家介紹了Python辦公系統(tǒng)批量編輯文檔完成實(shí)例詳細(xì)說(shuō)明,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早工作上得到晉升。
前言
說(shuō)起在工作上最讓人頭大的便是用這樣的方法解決一大堆文件夾中文檔,這其實(shí)并不難,但是卻繁。因此當(dāng)遇到腳踏式的操作過(guò)程中一定要注意應(yīng)用Python來(lái)有效懶惰!這次我會(huì)以解決微博熱搜榜數(shù)據(jù)信息來(lái)實(shí)例怎么使用Python批量編輯文件夾中文件,主要是將涉及到:
Python大批量載入不一樣文件夾(???)
Pandas數(shù)據(jù)解決(??)
Python實(shí)際操作Markdown文件(?)
需求分析
首先來(lái)說(shuō)明一下需要完成的任務(wù),下面是我們的文件夾結(jié)構(gòu)
因?yàn)槲⒉v史熱搜是沒(méi)有辦法去爬的,所以只能寫(xiě)一個(gè)爬蟲(chóng)每天定時(shí)爬取熱搜并保存,所以在我當(dāng)時(shí)分析數(shù)據(jù)時(shí)使用的就是上圖展示的數(shù)據(jù),每天的數(shù)據(jù)以套娃形式被保存在三級(jí)目錄下,并且熱搜是以markdown文件存儲(chǔ)的,打開(kāi)是這樣????
而我要做的就是將這三個(gè)月的微博熱搜數(shù)據(jù)處理成這樣????
這困難嗎,手動(dòng)的話無(wú)非是依次點(diǎn)三下進(jìn)入每天的數(shù)據(jù)文件夾再打開(kāi)md文件手動(dòng)復(fù)制粘貼進(jìn)Excel,不就幾萬(wàn)條數(shù)據(jù),大不了一天不吃飯也能搞定!現(xiàn)在我們來(lái)看看如何用Python光速處理。
Python實(shí)現(xiàn)
在操作之前我們來(lái)思考一下如何使用Python實(shí)現(xiàn),其實(shí)和手動(dòng)的過(guò)程類(lèi)似:先讀取全部文件,再對(duì)每一天的數(shù)據(jù)處理、保存。所以第一步就是將我們需要的全部文件路徑提取出來(lái),首先導(dǎo)入相關(guān)庫(kù)
import pandas as pd import os import glob from pathlib import Path
讀取全部文件名的方法有很多比如使用OS模塊
但是由于我們是多層文件夾,使用OS模塊只能一層一層讀取,要寫(xiě)多個(gè)循環(huán)從而效率不高,所以我們告別os.path使用Pathlib來(lái)操作,三行代碼就能搞定,看注釋
from pathlib import Path p=Path("/Users/liuhuanshuo/Desktop/熱搜數(shù)據(jù)/")#初始化構(gòu)造Path對(duì)象 FileList=list(p.glob("**/*.md"))#得到所有的markdown文件`</pre>
來(lái)看下結(jié)果
成功讀取了熱搜數(shù)據(jù)下多層文件夾中的全部md文件!但是新的問(wèn)題來(lái)了,每天有兩條熱搜匯總,一個(gè)11點(diǎn)一個(gè)23點(diǎn),考慮到會(huì)有重合數(shù)據(jù)所以我們?cè)谔幚碇跋冗M(jìn)行去重,而這就簡(jiǎn)單了,不管使用正則表達(dá)式還是按照奇偶位置提取都行,這里我是用lambda表達(dá)式一行代碼搞定
filelist=list(filter(lambda x:str(x).find("23點(diǎn)")>=0,FileList))
現(xiàn)在我們每天就只剩下23點(diǎn)的熱搜數(shù)據(jù),雖然是markdown文件,但是Python依舊能夠輕松處理,我們打開(kāi)其中一個(gè)來(lái)看看
打開(kāi)方式和其他文件類(lèi)似使用with語(yǔ)句,返回一個(gè)list,但是這個(gè)list并不能直接為我們所用,第一個(gè)元素包含時(shí)間,后面每天的熱搜和熱度也不是直接存儲(chǔ),含有markdown語(yǔ)法中的一些沒(méi)用的符號(hào)和換行符,而清洗這些數(shù)據(jù)就是常規(guī)操作了,使用下面的代碼即可,主要就是使用正則表達(dá)式,看注釋
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] #提取內(nèi)容與排名 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]`
最后只需要寫(xiě)一個(gè)循環(huán)遍歷每一天的文件并進(jìn)行清洗,再創(chuàng)建一個(gè)DataFrame用于存儲(chǔ)每天的數(shù)據(jù)即可
能夠看見(jiàn),并沒(méi)應(yīng)用太復(fù)雜了的編碼就能成功完成了我們要求!
結(jié)語(yǔ)
以上就是關(guān)于應(yīng)用Python再次解鎖新技能最終成功粗心的例子,很有可能載入Markdown文件在您的實(shí)際工作中并且用不上,但通過(guò)本實(shí)例希望你能夠懂得如何批量編輯文件夾,大批量載入清洗數(shù)據(jù)。更為關(guān)鍵的是在您的工作中,碰到必須重復(fù)性工作的任務(wù)后,是否能想到應(yīng)用Python來(lái)自動(dòng)化技術(shù)解決
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/128708.html
此篇文章主要是給大家介紹了Python辦公系統(tǒng)Word轉(zhuǎn)Excel文件批量編輯實(shí)例詳細(xì)說(shuō)明,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早漲薪。 序言 小伙伴們好,今日有個(gè)公務(wù)員的小伙伴們授權(quán)委托我給他幫幫忙,應(yīng)該是有一份Word(因?yàn)樯婕暗轿臋n私秘因此原文中具體內(nèi)容已經(jīng)做了改動(dòng)) 一共有近2600條類(lèi)似格式的表格細(xì)欄,每個(gè)欄目包括的信息有: 日期 發(fā)...
摘要:綁定解綁進(jìn)入負(fù)載均衡頁(yè)面,可對(duì)外網(wǎng)綁定的外網(wǎng)彈性進(jìn)行以下操作。負(fù)載均衡算法監(jiān)聽(tīng)器對(duì)數(shù)據(jù)包的負(fù)載方式服務(wù)節(jié)點(diǎn)一般情況,添加服務(wù)節(jié)點(diǎn)是需要在監(jiān)聽(tīng)器創(chuàng)建完成后再進(jìn)行。禁用服務(wù)節(jié)點(diǎn)后,現(xiàn)存的長(zhǎng)連接不會(huì)斷開(kāi)。,點(diǎn)擊確定,即完成批量禁用服務(wù)節(jié)點(diǎn)。創(chuàng)建ULB操作步驟1、進(jìn)入負(fù)載均衡 ULB頁(yè)面。2,點(diǎn)擊創(chuàng)建負(fù)載均衡進(jìn)行ULB實(shí)例創(chuàng)建。3、填寫(xiě)配置信息,進(jìn)行ULB實(shí)例創(chuàng)建。詳細(xì)配置說(shuō)明見(jiàn)下方。4,點(diǎn)擊立即購(gòu)...
此篇文章主要是給大家介紹了python圖像處理之圖象的批量編輯實(shí)例詳細(xì)解讀,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,愿大家多多的發(fā)展,盡快漲薪 文章正文 有的時(shí)候,不僅需要對(duì)一張照片予以處理,可能也會(huì)對(duì)一大批照片處理。此刻,我們通過(guò)循環(huán)系統(tǒng)去執(zhí)行解決,還可以啟用程序流程帶有的照片結(jié)合去處理。 照片結(jié)合函數(shù)公式 skimage.io.ImageCollection(load...
摘要:二進(jìn)制日志是記錄對(duì)數(shù)據(jù)發(fā)生或潛在發(fā)生更改的語(yǔ)句,并以二進(jìn)制的形式保存。刪除配置文件刪除配置文件配置文件支持刪除操作。在配置文件列表頁(yè)選中需要?jiǎng)h除的配置文件,選中刪除即可完成刪除操作。UCloud MySQL云數(shù)據(jù)庫(kù)操作指南 基本操作 啟動(dòng)MySQL實(shí)例 如果要啟動(dòng)處于關(guān)閉狀態(tài)的MySQL實(shí)例,首先選擇需要啟動(dòng)的MySQL實(shí)例,在列表右側(cè)點(diǎn)擊啟動(dòng)按鈕,彈出的確認(rèn)對(duì)話框選擇確定...
摘要:摘要為了更方便的實(shí)現(xiàn)彈性的資源創(chuàng)建,方便用戶一次運(yùn)行多臺(tái)按量實(shí)例來(lái)完成應(yīng)用的開(kāi)發(fā)和部署,阿里云開(kāi)放了的批量創(chuàng)建實(shí)例接口,可以單次最多創(chuàng)建臺(tái)實(shí)例,避免重復(fù)調(diào)用和創(chuàng)建。批量創(chuàng)建實(shí)例創(chuàng)建的實(shí)例,填入相關(guān)需要的參數(shù)即可。 摘要: 為了更方便的實(shí)現(xiàn)彈性的資源創(chuàng)建,方便用戶一次運(yùn)行多臺(tái)ECS按量實(shí)例來(lái)完成應(yīng)用的開(kāi)發(fā)和部署,阿里云開(kāi)放了ECS的批量創(chuàng)建實(shí)例接口RunInstances,可以單次最多創(chuàng)...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1983·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02