【发布时间】:2020-07-02 05:19:33
【问题描述】:
我希望读取的数据集作为 tar.gz 文件存在于 GitHub 上,并且每隔几个小时更新一次。虽然我总是可以下载这个文件,解压它,然后从 CSV 读取,但如果我能及时从this URL 直接读取到 Pandas 数据帧中会更好。
经过一番谷歌搜索,我能够下载压缩文件,然后将其作为数据框读取。
import requests
import tarfile
import pandas as pd
# Download file from GitHub
url = "https://github.com/beoutbreakprepared/nCoV2019/blob/master/latest_data/latestdata.tar.gz?raw=true"
target_path = "latestdata.tar.gz"
response = requests.get(url, stream=True)
if response.status_code == 200:
with open(target_path, "wb") as f:
f.write(response.raw.read())
# Read from downloaded file
with tarfile.open(target_path, "r:*") as tar:
csv_path = tar.getnames()[0]
df = pd.read_csv(tar.extractfile(csv_path), header=0, sep=",")
但是,我想知道是否有一种方法可以直接将文件内容读入数据框中,而无需先将其保存在本地。如果我想稍后构建 Web 应用程序并且没有本地计算机,这可能很有用。任何帮助,将不胜感激!谢谢!
【问题讨论】:
标签: python pandas file python-requests data-wrangling