python讀取csv文件的下載鏈接,獲取表格數據

環境:python3.6

背景:之前接到一個小需求,給了幾百個csv文件的下載鏈接,需要將這些csv表格中的某一列數據拉去出來,進行一些簡單計算。

剛開始的想法是全部用requests請求文件url直接下載保存,再挨個讀取文件。但是這種辦法太low且效率極低。於是想直接通過讀取請求數據流,提取其中數據。然而python3以上的版本並不支持urllib2.urlopen()方法,所以試了幾種方法,但是最終還是找到了,直接上馬。

 

import requests
import csv
from contextlib import closing

# 文件地址
url = "http://snk-gm.hz.37.com.cn/downloads/rankshow/20191205/snk_Rugal_1006_44_1575532733_COST_MONEY_20191204050000.csv"

# 讀取數據
with closing(requests.get(url, stream=True)) as r:
    f = (line.decode('gbk') for line in r.iter_lines())
    reader = csv.reader(f, delimiter=',', quotechar='"')
    for row in reader:
        print(row)

 

運行結果如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章