Как загрузить Github Repo, заполненный файлами CSV, на Github, используя Python? - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь провести предварительный анализ данных, предоставленных CSSE в Университете Джона Хопкинса. У них это есть на Github по этой ссылке https://github.com/CSSEGISandData/COVID-19/tree/master/csse_covid_19_data/csse_covid_19_daily_reports Я пытаюсь загрузить весь файл, используя python, который сохранит его в моем текущем каталоге. Таким образом, я получу все самые свежие данные и смогу перезагрузить их для использования. Я использую две функции fetch_covid_daily_data(), которые будут go на веб-сайт и загружать все файлы CSV. Тогда у меня будет load_covid_daily_data(), который будет go в текущем репо, и прочитайте данные, чтобы я мог обработать его с pandas.

Я делаю так, потому что если я go вернусь к своему коду, я могу вызвать функцию fetch_covid_daily_data(), и она загрузит все новые изменения, такие как добавление еще одного ежедневного CSV.

Ответы [ 2 ]

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

Вы можете читать данные напрямую из онлайн CSV в Pandas DataFrame:

Примеры:

import pandas as pd

CONFIRMED_URL = 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv'

df = pd.read_csv(CONFIRMED_URL)

# df now contains data from time of call.

Вы также можете создать класс для получения и манипулирования всеми данными


import pandas as pd

class Corona:


    def __init__(self):

        BASE_URL = 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series'

        self.URLS = {'confirmed': f'{BASE_URL}/time_series_covid19_confirmed_global.csv',
                'deaths': f'{BASE_URL}/time_series_covid19_deaths_global.csv',
                'recovered':f'{BASE_URL}/time_series_covid19_recovered_global.csv', 
        }


        self.data = {case:pd.read_csv(url) for case, url in self.URLS.items()}

    # create other useful functions to work with data
    def current_status(self):
        # function to show current status
        pass 


Для получения текущих данных:

# returns data as dictionary with DataFrames as Values
corona = Corona()
confirmed_df = corona.data['confirmed']

# If you want to save them to csv
confirmed_df.to_csv('confirmed.csv', index=False)

# show first five rows
print(corona_df.head())

# check other DataFrame
print(corona.data.keys())
0 голосов
/ 11 апреля 2020

Если у вас установлено git, вам нужно клонировать репозиторий из вашего терминала

git clone https://github.com/CSSEGISandData/COVID-19

надеюсь, это поможет!

...