odufrn / odufrn-downloader

Pacote para baixar os dados do portal de dados abertos da UFRN
https://odufrn.github.io/odufrn-downloader/
MIT License
32 stars 4 forks source link

Carregar pandas.DataFrame direto #27

Open alvarofpp opened 5 years ago

alvarofpp commented 5 years ago

Função

Transformar dataset em um dataframe. A função pd.read_csv() do pandas funciona com você passe diretamente uma url.

Para entender melhor

Digamos que você está fazendo algumas analises e, por qualquer motivo que seja, não quer baixar o arquivo. O pacote poderia ter um Mixin que integrasse algumas funções junto ao pandas.

Debate

Seria interessante debatermos isso, definirmos fluxo e outras coisas, pois podemos fazer várias novas funcionalidades a partir dessa integração, como:

itepifanio commented 5 years ago

Concordo com a facilidade de integração com o pandas. Como você tem pensado na parte do código @alvarofpp ? Eu acho que se a gente adicionar a opção de transformar os datasets em dataframe como flags de funções já implementadas talvez essas funções podem ficar com muitas responsabilidades e confusas de dar manutenção no futuro

nymarya commented 4 years ago

Acho que ao invés de flags, ficaria melhor criar funções mesmo. Talvez ate os dois, mas acho flag muito "escondido", além de já existirem muitas flags.

alvarofpp commented 4 years ago

Concordo com @nymarya, o melhor seria uma função especifica para isso. O lance é que se você passar uma url no read_csv ele já transforma em DataFrame. Só precisaríamos de uma função que o primeiro argumento fosse url e qualquer coisa posterior fosse kwargs, que seriam os parâmetros do read_csv.

nymarya commented 4 years ago

Usando url será que dá certo? Imaginei algo como um dataset para cada pacote, sendo que um pacote pode ter mais de um arquivo e cada arquivo tem uma url.

Pela experiência que tive usando URL, acho mais seguro usar depois de baixar. A API da PRF tem apresentado uns problemas ultimamente porque o pessoa muda muito as urls. Também já tive problema por querer usar a URL e não ter internet. Talvez uma alternativa de baixar ou não na hora, ou só baixar se tiver com a conexão OK.