怎麼把python爬到的資料(已經進入資料庫)進行資料清洗,把需要的資料提取到資料庫另一個表呢?
sql
先讀出來,以DataFrame的格式,之後不就隨便清洗了,清洗結束再寫入其他表就
兩種方式清洗資料:
第一種:如果你sql語句熟悉的話,利用sql是很方便的
第二種是利用pymysql或者pandas講資料庫原表中的資料讀取出來,清洗過後再入庫到新表。
這個問題,我們的解決方案是讓它不成為問題:我們直接為爬蟲系統配備 SQL 引擎,這樣,我們就可以使用 SQL 採集、提取、分析資料,並和 BI 報表工具直接整合。
這套系統我們已經完全開源了,所以你也可以免費使用。
而我們的商業版,則可以徹底讓你遠離爬蟲的困擾:它讓你可以不用配任何規則就可以把網站完整、精確地還原成表格(對所有列表/詳情頁類網站都適用哦):
一個典型電商頁面案例
僅僅告訴系統列表頁連結,AI 就能夠訪問詳情頁並把其中重要欄位抽取出來
咱們的 AI 瀏覽一批網頁後,能自動抽出好幾十個欄位哦!幾乎把網站背後的資料庫全部還原了。
資料清洗的操作很多,對於不同的清洗方案不同的庫支援的級別是不同的。
如果只是簡單的填充或者去除缺失值,可以用Pandas。但如果還有其他需求的話,建議用DaPy。全新資料分析框架DaPy帶你領略從未有過的資料分析之旅
下面是這個庫官網上的一些功能說明:
最新的訊息是,DaPy是可以從MySQL中讀取和儲存資料的!!!
import
DaPy
as
dp
# 從資料庫中直接讀取一個表
sheet
=
dp
。
read
(
“mysql://user_name:123456@localhost:3306/db_name/sheet_name”
)
# 直接將表存入資料庫
sheet
。
save
(
‘mysql://user_name:123456@localhost:3306/db_name/sheet_name’
)
—————————————————————————————————————
由於DaPy現在還不支援直接從SQL中讀取資料,那麼題主有兩種解決方案:
先把資料用MySQL匯出成CSV格式,然後呼叫DaPy的讀取本地檔案的函式
dp。read(‘mysql_data。csv’)
建立一個DaPy格式的空的新表,然後用python的其他庫讀取mysql資料,每讀取一行存一行到DaPy當中,程式碼如下
import MySQLdb
import DaPy as dp
db = MySQLdb。connect(‘localhost’, ‘user’, ‘psd’)
cursor = db。cursor()
cursor。execute(“SELECT * FROM TABLE”)
# 下面這個是一行一行讀取的方法
sheet = dp。SeriesSet(columns=[‘A列’, ‘B列’, ‘C列’]) # 建立空表,預設的缺失值填充為NaN
while True:
row = cursor。fetchone()
if not row:
break
sheet。append_row(row)
# 下面這個是把所有資料一次讀入,然後轉換成DaPy表的方法
sheet = dp。SeriesSet(cursor。fetchall(), columns=[‘A列’, ‘B列’, ‘C列’])