Анализ данных COVID-19 с Python от Github CSV - PullRequest
0 голосов
/ 24 апреля 2020

Эта ссылка содержит CSV-файлы для ежедневных отчетов COVID-19.

https://github.com/CSSEGISandData/COVID-19/tree/master/csse_covid_19_data/csse_covid_19_daily_reports

Как лучше всего получить все CSV-файлы в датафрейм?

Я попробовал приведенный ниже код из других вопросов, но он не работает.

from pathlib import Path
import pandas as pd

files = Path('https://github.com/CSSEGISandData/COVID-19/tree/master/csse_covid_19_data/csse_covid_19_daily_reports')

csv_only = files.rglob('*.csv')

combo = [pd.read_csv(f)
         .assign(f.stem)
         .fillna(0)
         for f in csv_only]

one_df = pd.concat(combo,ignore_index=True)

one_df = one_df.drop_duplicates('date')
print(one_df)

Как мне соответствовать запросам на чтение всех файлов?

Ответы [ 2 ]

1 голос
/ 24 апреля 2020

Вы можете просто использовать модуль requests, чтобы получить имена всех присутствующих .csv, что устранит необходимость запуска glob:

import requests
url = "https://github.com/CSSEGISandData/COVID-19/tree/master/csse_covid_19_data/csse_covid_19_daily_reports"
csv_only  = [i.split("=")[1][1:-1] for i in requests.get(url).text.split(" ") if '.csv' in i and 'title' in i]
0 голосов
/ 24 апреля 2020

pathlib работает только с файловыми системами, поэтому это не сработает. csv_only будет пустым генератором, поскольку на вашем диске такого места нет. Вам нужно получить данные из github с фактическими запросами http. Я когда-то что-то делал для личного дела go, вы можете посмотреть и изменить его соответствующим образом (использует github API, поэтому вам нужно его получить).

...