作為一個數據分析師谦炬,下面的需求是經常會遇到的栈拖。
從數據庫或者現有的文本文件中提取符合要求的數據皮迟,做一個二次處理,處理完成后的數據最終存儲到excel表格中供其他部門的人繼續(xù)二次分析秸架。
在這里Excel作為一個必不可少橋梁,合適的工具和方法可以避免我們將處理完的數據耗費時間一行行復制黏貼過去咆蒿。
python編程也是一個數據分析師的必備技能东抹,你永遠無法預料你的數據會來自哪里,需要經過怎樣復雜的過濾沃测,篩選缭黔,排序,組合處理芽突,所以掌握一門編程語言以及Linux下常用的文本文件的處理命令是必備技能试浙。
鑒于python的簡潔,上手快寞蚌,以及各式各樣的開源庫可以說是數據分析師的首選田巴。
這里看一下基于python的庫records將數據導出到excel是多么的簡單,只需要幾行代碼即可挟秤。
我在《真正好用的python庫》中提到了records庫壹哺。
作者 Kenneth Reitz 是公認python領域代碼寫的最好的兩個人之一,多才多藝艘刚,年輕有為管宵。
records是專為人類設計的SQL查詢庫,可以對接后端的各種關系數據庫攀甚,不需要關心任何細節(jié)箩朴,只要一個url一個sql語句就搞定一切了。同時還提供了將各種查詢結果導出到各種格式(CSV, XLS, JSON, HTML Tables)的功能秋度。
import records
rows = [
{"x": 1, "y": 2},
{"x": 2, "y": 3},
{"x": 3, "y": 4},
{"x": 4, "y": 5}
]
results = records.RecordCollection(iter(rows))
with open('demo.xlsx', 'wb') as f:
f.write(results.export('xlsx'))
直接運行之后生成的excel格式的表格如下:
當然炸庞,還可以生成csv文件,python自帶csv的處理庫荚斯,相比xlsx格式使用起來簡單很多埠居,而且不需要引入第三方庫查牌。
這里使用records庫最常用的一個應用場景便是將數據從mysql數據庫中讀取出來,經過一定的處理之后滥壕,將數據存儲到excel或者json相關的文本文件中纸颜。