【发布时间】:2018-03-13 11:47:29
【问题描述】:
我的一个小项目遇到了问题,我正在尝试从网站下载大量数据以存储它们并在以后处理它们,但是我需要对它们进行一些小改动以便让他们工作。
我目前正在使用urllib.request.urlretrieve(url, folder)下载数据,然后我打开它,进行必要的更改并再次保存。
但是,感觉写和读操作是不必要的,因为我将数据保存在磁盘上只是为了再次打开它,尤其是当我最终下载大量数据时。
我尝试使用我不太了解的请求模块,但我遇到了麻烦,因为数据最初被压缩为 gzip 文件。
download = requests.get("https://tickdata.fxcorporate.com/EURUSD/2015/1.csv.gz", stream=True)
decoded_content = download.content.decode('gzip')
这不起作用,因为他既不将gz或gzip识别为有效编码。
我认为gzip后面的数据是utf-8,但是如果我尝试使用utf-8作为编码参数,它也不起作用。
有人知道如何让它读取文件吗?
Ps:我不确定它是否对这个问题有用,但这是我在下载文件时对文件所做的操作:
pair = 'EUR_USD'
for year in range(2015,2016):
for week in range(1,53):
ref= 'E:\Finance_Data\\' + pair + '\Tick\\' + str(year) + '\\' + str(week) + '.csv.gz'
dest = 'E:\Finance_Data\\' + pair + '\Tick\\' + str(year) + '\\' + str(week) + '_clean.csv'
with gzip.open(ref, 'rb') as f:
data = f.read()
with gzip.open(dest, 'wb') as f:
f.write(data.decode('utf-8').replace('\x00', '').encode('utf-8'))
【问题讨论】:
标签: python python-3.x url python-requests