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)

 

运行结果如下:

python读取csv文件的下载链接,获取表格数据_第1张图片

你可能感兴趣的:(python,csv)