我正在使用python下载带有gzip压缩的CSV,我想将其直接写为磁盘作为csv。
我尝试了以下几种变体:
url ='blabla.s3....csv.gz'
filename = 'my.csv'
compressed = requests.get(url).content
data = gzip.GzipFile(fileobj=compressed)
with open(filename, 'wb') as out_file:
out_file.write(data)
但是我遇到了各种错误 - 我不确定我是否正在将响应的正确部分传递给gzip方法。如果有人有这方面的经验,我们非常感激。
答案 0 :(得分:2)
您应该可以使用zlib
解压缩响应。
import zlib
res = requests.get(url)
data = zlib.decompress(res.content, zlib.MAX_WBITS|32)
现在,写一个文件:
with open(filename, 'wb') as f:
f.write(data)