-
1 # 我是王大合
-
2 # 周19
我最近為提升網監工作效率寫了個爬蟲,按“用python寫的網路爬蟲例項補充說明”搜尋,可以找到。
這也符合你題中所說的應用場景。
-
3 # 程式設計師小助手
結論:本文力求透過淺顯的表達,讓還在手動敲敲敲的同學幡然醒悟,立地成佛系青年!
前言python這三年來跟著人工智慧的東風,吃香的喝辣的,沒有它不幹的。
上至王公貴胄,下至黎民百姓,人人皆python。
連浙江省資訊科技課程也把老掉牙的VB淘汰,換作python了。
正所謂“風頭無兩”!
寫文件,寫小說,寫軟文,MarkDown,你值得擁有不排除很多小夥伴,從小認識電腦,就開始裝office全家桶。有什麼重要的小筆記,小心心地寫在小本本上,用了電腦,寫一個word存檔。
時間久了,成了老司機,工作之後更是對格式有了要求。於是學會許多排版。
畢過業的同學,哪一個沒被論文的格式熬到圓圈發黑。
信python的有福了。有了markdown助力,你可以輕鬆寫出官方一樣規整的文件。
沒錯兒,說的就是這個工具。mkdocs。安裝起來很簡單。電腦上安裝有python後,使用pip安裝即可:
pip install mkdocs我們把細節放大,看看其有哪些優秀的設計。
導航欄,帶下拉框,支援多級選單。你需要做的,僅僅是目錄有層級。
然後配置檔案內,把各個文件名稱新增上就可以了。
系統自帶的基於sphinx的全文搜尋引擎,可以讓你瞬間直達目錄文件。
最重要的是,使用mkdocs可以把markdown編譯為html靜態網頁。
mkdocs build而使用github page提供的功能,我們可以將這個文件免費釋出到網上。
最重要的是,mkdocs使用python開發,原始碼開放,任何人可以手動修剪,以期更美好。
文件預設使用bootstrap主題,還有許多可選的,貼幾張圖大家看看效果和配色。
微信關鍵詞自動回覆——聊天機器人假如你是財務人員,或者辦公室人員,或者客服人員,微信內有超級多聯絡人,你的工作就是與他們打交道。而很多關鍵的詞,比如使用阿里旺旺,可以設定關鍵詞自動回覆,這樣能節省很多人力物力。免得每天忙成狗,打字手抽筋。
這就是半個聊天機器人。
使用pip安裝:
pip install itchat寫一個類似hello world的程式碼,給檔案傳輸助手傳送文字。
管理自己的通訊錄,再也不用一個一個點,太麻煩了,除了手指頭,什麼都不能用。
看幾個比較成熟的使用吧,下面這張是關鍵字自動回覆:
下面這張,使用python連線微軟小冰API介面進行人機對話:
是不是看上去很酷?其實實現起來也不困難。
使用了itchat後,配置關鍵詞,讓你不再為重複的話貼來貼去。手機掃完碼登入之後,想幹嘛幹嘛,剩下的就全交給python處理了。
只有這樣,你才能有時間騰出功夫,給自己衝杯下午茶,享受片刻的美好。
批次生成word想起來一個故事,叫《奈何姓萬》。估計有些同學都已經猜到了。
大清早起床,寫到中午,才寫了五百畫。我也是為地主兒子捏把汗,這怎麼放心把家業傳給他。
如果地主兒子會python,漫說姓萬,姓百萬,也瞬間給他寫完了。
下面我們透過例子,學習python操作word的方法。場景就以製作超多個請柬為例。請柬的word模板如下:
然後為每個單位和個人,生成一個word文件。
最後把內容填進去。
生成檔案:
讓商務挨個發給對應的客戶就行了。
如果你還需要一一發送,那麼配合python發郵件,也是極為便捷的哦。
再舉一例,python操作excel,應用場景非常多。下面以生成物料每日出貨清單為例說明。
下面是原始資料和模板。
如何處理呢,程式碼如下:
這一步把總表資料提取出來存放到字典data內。
這一步把字典data寫入到目標表格的對應位置,可在迴圈內進行運算。
最終展示出來的效果圖:
其實excel操作的原理是差不多的,主要是針對不同的工作表,進行不同的操作。
結語上面只是對於日常辦公使用的個別場景進行了舉例說明,還有很多功能,待你去發掘。
希望還在觀望的同學,動手裝一裝,用一用,節約生命!
人生苦短,我用python!
-
4 # IdlePig
一個能自動化的典型場景:
員工從平臺上面匯出一張報表,
然後進行篩選,整理出需要的資料,比如第一行是被催人的郵箱,第二行是被催人的相關資訊,
然後一行一行的給別人發郵件,因為每個人發的資訊不一樣,導致大量的重複操作,
這個時候就可以用selenium自動下載報表,
用openpyxl分析excel表格 或 用csv分析csv檔案 或 其他的,
得出想要的資料,for迴圈,用smtplib、email自動傳送郵件。
-
5 # 小小猿愛嘻嘻
python在辦公自動化中有哪些應用場景可以提升工作效率?既然是辦公那就絕對離不開excel、word、ppt,這裡以python為例,簡單介紹幾個可以快速處理excel、word、ppt的第三方包,經濟實用,感興趣的朋友可以嘗試一下:
python excel處理包excel日常辦公絕對離不開,各種資料的統計處理、報表展示等都要使用,如果檔案少、資料少,手動處理起來沒有任何問題,但要是檔案多、資料量大,手動處理起來會非常複雜、耗時,而且容易出錯,還好python針對excel處理提供了非常多的第三方包,簡單輕便的xlrd/xlwt、openpyxl,專業強大的pandas,都可以快速處理excel資料,如果你辦公中需要反覆處理一些excel檔案,而且資料量龐大,可以使用一下這幾個第三方包,效果來說非常不錯,可以明顯提高處理速度和辦公效率:
python word處理包word也是辦公中比較常用的一個軟體,日常各種總結、報告都需要用到,如果檔案少,描述內容比較多,格式也比較複雜,手動處理起來比較合適,但如果檔案多,資料量少,而且格式固定,那手動處理起來就會非常耗時,還好python針對word處理提供了一個非常實用的第三方包—python-docx,可以快速生成、讀寫word檔案,如果你辦公中需要生成大量的word檔案,而且格式比較單一、固定,可以使用一下這個第三方包,效率來說非常不錯,分分鐘就可以搞定:
python ppt處理包ppt也是一個比較常用的辦公軟體,日常各種展示、彙報絕對離不開,如果檔案少,內容要求精緻、美觀,手動處理比較合適,但如果檔案多,資料量多,且格式單一,那手動處理起來就會十分繁瑣,還好python針對ppt處理也提供了一個非常實用的第三方包—python-pptx,可以快速讀寫ppt檔案、以及批次生成ppt,如果你辦公中需要大量處理ppt,格式單一且固定,可以使用一下這個第三方包,效果來說也非常不錯:
目前,就分享這3個方面吧,python對於日常辦公來說絕對有幫助,尤其在一些重複的操作上,可以明顯提高效率,當然,對於一些實驗資料的處理,python也有第三方包可以快速處理得到結果,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。
-
6 # 52sissi
在有關大資料分析Python API的本教程中,我們將學習如何從遠端網站檢索資料以進行資料科學專案。像baidu,Twitter和Facebook之類的網站都透過其應用程式程式設計介面(API)向程式設計師提供某些資料。要使用API,你需要向遠端Web伺服器發出請求,然後檢索所需的資料。
但是,為什麼要使用API而不是可以下載的靜態資料集呢?API在以下情況下很有用:
a.資料變化很快。股票價格資料就是一個例子。重新生成資料集並每分鐘下載一次並沒有實際意義-這會佔用大量頻寬,而且速度很慢。
c.涉及重複計算。Spotify的API可以告訴您音樂的流派。從理論上講,您可以建立自己的分類器,並使用它對音樂進行分類,但您將永遠不會擁有Spotify所擁有的資料。
在上述情況下,API是正確的解決方案。對於本資料科學教程,我們將查詢一個簡單的API,以檢索有關國際空間站(ISS)的資料。使用API可以節省我們自己進行所有計算的時間和精力。
大資料分析Python中的API請求
API託管在Web伺服器上。當您www.google.com在瀏覽器的位址列中鍵入內容時,您的計算機實際上是在向www.google.com伺服器詢問網頁,然後該網頁返回到您的瀏覽器。
API的工作方式幾乎相同,除了您的程式要求資料而不是您的Web瀏覽器詢問網頁之外。這些資料通常以JSON格式返回(有關更多資訊,請參閱有關使用JSON資料的教程)。
為了獲取資料,我們向Web伺服器發出請求。然後,伺服器將回復我們的資料。在大資料分析Python中,我們將使用請求庫來執行此操作。在此大資料分析Python API教程中,我們將為所有示例使用大資料分析Python 3.4。
請求型別
有許多不同型別的請求。最常用的一個GET請求用於檢索資料。
我們可以使用一個簡單的GET請求從OpenNotify API 檢索資訊。
OpenNotify具有多個API端點。端點是用於從API檢索不同資料的伺服器路由。例如,/commentsReddit API上的端點可能會檢索有關注釋的資訊,而/users端點可能會檢索有關使用者的資料。要訪問它們,您可以將端點新增到API 的基本URL中。
我們將在OpenNotify上看到的第一個端點是iss-now.json端點。該端點獲取國際空間站的當前緯度和經度。如您所見,檢索此資料不適用於資料集,因為它涉及伺服器上的一些計算,並且變化很快。
您可以在此處檢視OpenNotify上所有端點的列表。
OpenNotify API 的基本網址是http://api.open-notify.org,因此我們將其新增到所有端點的開頭。
狀態碼
我們剛剛發出的請求的狀態碼為200。向Web伺服器發出的每個請求都返回狀態程式碼。狀態程式碼指示有關請求發生的情況的資訊。以下是與GET請求相關的一些程式碼:
a)200 -一切正常,結果已返回(如果有)
b)301—伺服器正在將您重定向到其他端點。當公司切換域名或更改端點名稱時,可能會發生這種情況。
d)400-伺服器認為您提出了錯誤的請求。當您沒有正確傳送資料時,可能會發生這種情況。
e)403 —您嘗試訪問的資源被禁止—您沒有正確的許可權檢視它。
f)404 -在伺服器上找不到您嘗試訪問的資源。
現在http://api.open-notify.org/iss-pass,根據API文件,向不存在的端點發出GET請求。
擊中正確的終點
iss-pass不是有效的端點,因此我們得到了一個404狀態碼作為相應。.json正如API文件所述,我們忘記在最後新增。
現在,我們將向發出GET請求http://api.open-notify.org/iss-pass.json。
查詢引數
您將在上一個示例中看到,我們得到了一個400狀態碼,表示請求錯誤。如果您檢視OpenNotify API的文件,我們會發現ISS Pass端點需要兩個引數。
當ISS下次透過地球上的給定位置時,將返回ISS Pass端點。為了對此進行計算,我們需要將位置的座標傳遞給API。為此,我們傳遞了兩個引數-緯度和經度。
為此,我們可以在params請求中新增可選的關鍵字引數。在這種情況下,我們需要傳遞兩個引數:
1)lat —我們想要的位置的緯度。
2)lon —我們想要的位置的經度。
我們可以使用這些引數製作字典,然後將它們傳遞給requests.get函式。
我們還可以透過將查詢引數新增到url中來直接做同樣的事情,如下所示:http://api.open-notify.org/iss-pass.json?lat=40.71&lon=-74。
將引數設定為字典幾乎總是可取的,因為requests它可以處理一些事情,例如正確設定查詢引數的格式。
我們將使用紐約市的座標進行請求,然後檢視得到的答覆。
b"{n "message": "success", n "request": {n "altitude": 100, n "datetime": 1441417753, n "latitude": 40.71, n "longitude": -74.0, n "passes": 5n }, n "response": [n {n "duration": 330, n "risetime": 1441445639n }, n {n "duration": 629, n "risetime": 1441451226n }, n {n "duration": 606, n "risetime": 1441457027n }, n {n "duration": 542, n "risetime": 1441462894n }, n {n "duration": 565, n "risetime": 1441468731n }n ]n}"
b"{n "message": "success", n "request": {n "altitude": 100, n "datetime": 1441417753, n "latitude": 40.71, n "longitude": -74.0, n "passes": 5n }, n "response": [n {n "duration": 329, n "risetime": 1441445639n }, n {n "duration": 629, n "risetime": 1441451226n }, n {n "duration": 606, n "risetime": 1441457027n }, n {n "duration": 542, n "risetime": 1441462894n }, n {n "duration": 565, n "risetime": 1441468731n }n ]n}"
使用JSON資料
您可能已經注意到,響應的內容之前是a string(儘管它顯示為bytes物件,但是我們可以使用輕鬆地將內容轉換為字串response.content.decode("utf-8"))。
字串是我們將資訊來回傳遞給API的方式,但是很難從字串中獲取我們想要的資訊。我們如何知道如何解碼返回的字串並在大資料分析Python中使用它?我們如何altitude從字串響應中找出ISS的含義?
幸運的是,有一種名為JavaScript Object Notation(JSON)的格式。JSON是一種將列表和字典之類的資料結構編碼為字串的方法,以確保它們易於被機器讀取。JSON是將資料來回傳遞給API的主要格式,大多數API伺服器將以JSON格式傳送其響應。
json套件隨附大資料分析Python強大的JSON支援。該json軟體包是標準庫的一部分,因此我們無需安裝任何程式即可使用它。我們既可以將列表和字典轉換為JSON,也可以將字串轉換為列表和字典。就我們的ISS Pass資料而言,它是一個字典,編碼為JSON格式的字串。
json庫有兩種主要方法:
1)dumps —接收一個大資料分析Python物件,並將其轉換為字串。
2)loads —接收JSON字串,並將其轉換為大資料分析Python物件。
從API請求獲取JSON
透過使用.json()響應上的方法,您可以將響應的內容作為大資料分析Python物件獲取。
{"response": [{"risetime": 1441456672, "duration": 369}, {"risetime": 1441462284, "duration": 626}, {"risetime": 1441468104, "duration": 581}, {"risetime": 1441474000, "duration": 482}, {"risetime": 1441479853, "duration": 509}], "message": "success", "request": {"latitude": 37.78, "passes": 5, "longitude": -122.41, "altitude": 100, "datetime": 1441417753}}
內容型別
伺服器不僅會在生成響應時傳送狀態碼和資料。它還發送包含有關如何生成資料以及如何對其進行解碼的資訊的元資料。這儲存在響應頭中。在大資料分析Python中,我們可以使用headers響應物件的屬性來訪問它。
標頭將顯示為字典。在標題中,content-type是目前最重要的鍵。它告訴我們響應的格式以及如何對其進行解碼。大資料分析Python API入門教程https://www.aaa-cg.com.cn/data/2308.html對於OpenNotify API,格式為JSON,這就是為什麼我們可以json更早地使用包對其進行解碼的原因。
尋找太空中的人數
OpenNotify還有一個API端點astros.json。它告訴你當前有多少人在太空中。相應的格式可以在這裡找到。
9
{"number": 9, "people": [{"name": "Gennady Padalka", "craft": "ISS"}, {"name": "Mikhail Kornienko", "craft": "ISS"}, {"name": "Scott Kelly", "craft": "ISS"}, {"name": "Oleg Kononenko", "craft": "ISS"}, {"name": "Kimiya Yui", "craft": "ISS"}, {"name": "Kjell Lindgren", "craft": "ISS"}, {"name": "Sergey Volkov", "craft": "ISS"}, {"name": "Andreas Mogensen", "craft": "ISS"}, {"name": "Aidyn Aimbetov", "craft": "ISS"}], "message": "success"}
大資料分析Python API資料科學教程:後續步驟
建議的其他後續步驟是閱讀請求文件,並使用Reddit API。有一個名為PRAW 的程式包,它使在大資料分析Python中使用Reddit API更加容易,但是建議requests首先使用它來了解一切的工作原理。
https://www.toutiao.com/i6832146415016215043/
回覆列表
提升效率的前提是資料夠大
如果簡單資料Excel足夠
pandas能上過億的資料不卡
而excel超過5M,都能讓你工作超長待機
等你要殺牛而你只有把宰雞的刀
你就要想到python應用場景來了