使用熊猫,如何读取使用url获取的zip文件中的csv文件[Python]

时间:2020-05-19 15:20:24

标签: python pandas zip

此网址 https://ihmecovid19storage.blob.core.windows.net/latest/ihme-covid19.zip

包含2个csv文件和1个每天更新的pdf文件,其中包含Covid-19数据。

我希望能够将Summary_stats_all_locs.csv加载为Pandas DataFrame。

通常,如果有指向csv的网址,我只能使用df = pd.read_csv(url),但是由于csv位于zip内,因此我在这里不能这样做。

我该怎么做?

谢谢

1 个答案:

答案 0 :(得分:2)

您将需要先获取文件,然后使用ZipFile模块加载文件。熊猫实际上可以从zip内读取csvs,但是这里的问题是多个,所以我们需要这样做并指定文件名。

import requests
import pandas as pd
from zipfile import ZipFile
from io import BytesIO

r = requests.get("https://ihmecovid19storage.blob.core.windows.net/latest/ihme-covid19.zip")
files = ZipFile(BytesIO(r.content))
pd.read_csv(files.open("2020_05_16/Summary_stats_all_locs.csv"))