推薦幾個有意思的Python 庫

2021-09-13 01:43:41 字數 1211 閱讀 4080

在資料庫中即時儲存資料:dataset

當我們想要在不知道最終資料庫表長什麼樣的情況下,快速收集資料並儲存到資料庫中的時候,dataset 庫將是我們的最佳選擇。dataset 庫有乙個簡單但功能強大的 api,因此我們可以很容易的把資料儲存下來,之後再進行整理。

dataset 建立在 sqlalchemy 之上,所以如果需要對它進行擴充套件,你會感到非常熟悉。使用 django 內建的 inspectdb 管理命令可以很容易地把底層資料庫模型匯入 django 中,這使得和現有資料庫一同工作不會出現任何障礙。

從網頁抓取資料:beautiful soup

beautiful soup(一般寫作 bs4)庫使得從 html 網頁中提取資訊變得非常簡單。當我們需要把非結構化或弱結構化的 html 轉換為結構化資料的時候,就需要使用 beautiful soup 。用它來處理 xml 資料也是乙個很好的選擇,否則 xml 的可讀性或許會很差。

當需要和 http 內容打交道的時候,requests 毫無疑問是最好的標準庫。當我們想要抓取 html 網頁或連線 api 的時候,都離不開 requests 庫。同時,它也有很好的文件。

描述轉換成命名的小工具:python slugify

命名是一件困難的事情。python slugify 是乙個非常有用的庫,它可以把乙個標題或描述轉成乙個帶有特性的唯一識別符號。如果你正在做乙個 web 專案,並且你想要使用對搜尋引擎優化友好seo-friendly的鏈結,那麼,使用 python slugify 可以讓這件事變得很容易。

外掛程式打交道:pluggy

pluggy 庫相對較新,但是如果你想新增乙個外掛程式系統到現有應用中,那麼使用 pluggy 是最好也是最簡單的方式。如果你使用過 pytest,那麼實際上相當於已經使用過 pluggy 了,雖然你還不知道它。

把 csv 檔案轉換到 api 中:datasette

datasette 是乙個神奇的工具,它可以很容易地把 csv 檔案轉換為全特性的唯讀 rest json api,同時,不要把它和 dataset 庫混淆。datasette 有許多特性,包括建立圖表和 geo(用於建立互動式地圖),並且很容易通過容器或第三方網路主機進行部署。

JDK HashMap幾個有意思的問題

hashmap的hash演算法 hash原始碼如下 做了什麼?為啥這麼做?hash碰撞怎麼做 hash衝突 鍊錶 紅黑樹 如果元素的key的hash值相同,則使用乙個鍊錶來存放。鍊錶查詢乙個元素的時間複雜度為 o n 鍊錶到達一定長度 8 則使用紅黑樹,紅黑樹尋找乙個元素的時間的時間複雜度為o lo...

Python有意思的defaultdict方法

defaultdict主要解決在建立的dict為空時的賦值問題。1 dict.setdefault 方法 當不用defaultdict方法時,可用dict.setdefault 方法替代 下面使用參考資料中的例子舉例。例子是用來統計陣列中每個詞出現的次數。setdefault kw,0 方法可在di...

有意思的Python例子

第一題a 1 a a 1 print a 請問當前的輸出結果是多少 正確答案是 2 為什麼那?首先拆分 a 1 的結果為 true 現在變成了 a true 在python中 true 轉變為int 型別就是1 所以變成了a 1 結果自然是2嘍 雖然題目問的簡單,但是還是很考驗基本功的 第二題 pr...