Im essayant de lire des thats de fichier CSV sur github avec Python en utilisant des pandas> j'ai regardé partout sur le web, et j'ai essayé une solution que j'ai trouvée sur ce site, mais ils ne fonctionnent pas. Qu'est-ce que je fais mal?

J'ai essayé ceci:

import pandas as pd

url = 'https://github.com/lukes/ISO-3166-Countries-with-Regional-Codes/blob/master/all/all.csv'
df = pd.read_csv(url,index_col=0)
#df = pd.read_csv(url)

print(df.head(5))
9
taga 19 mars 2019 à 14:46

4 réponses

Meilleure réponse

Vous devez fournir l'URL du contenu brut. Essayez d'utiliser ceci:

import pandas as pd

url = 'https://raw.githubusercontent.com/lukes/ISO-3166-Countries-with-Regional-Codes/master/all/all.csv'
df = pd.read_csv(url, index_col=0)
print(df.head(5))

Production:

               alpha-2           ...            intermediate-region-code
name                             ...                                    
Afghanistan         AF           ...                                 NaN
Åland Islands       AX           ...                                 NaN
Albania             AL           ...                                 NaN
Algeria             DZ           ...                                 NaN
American Samoa      AS           ...                                 NaN
18
Alderven 19 mars 2019 à 11:50

Je recommande soit d'utiliser des pandas comme vous l'avez essayé et d'autres ici l'ont expliqué, soit, selon l'application, le python csv-handler CommaSeperatedPython, qui est un wrapper minimaliste pour la bibliothèque csv native.

La bibliothèque renvoie le contenu d'un fichier sous la forme d'un tableau de chaînes bidimensionnel. Il n'en est qu'à ses débuts, donc si vous voulez faire une analyse de données à grande échelle, je suggère Pandas.

0
PixelRayn 18 déc. 2019 à 20:28

Vous pouvez copier/coller l'url et modifier 2 choses :

  1. Supprimer "tache"
  2. Remplacez github.com par raw.githubusercontent.com

Par exemple ce lien :

https://github.com/mwaskom/seaborn-data/blob/master/iris.csv

Fonctionne de cette façon:

import pandas as pd

pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
0
Nicolas Gervais 29 sept. 2020 à 11:50

Ajoutez ?raw=true à la fin de l'URL GitHub pour obtenir le lien du fichier brut.

Dans ton cas,

import pandas as pd
url = 'https://github.com/lukes/ISO-3166-Countries-with-Regional-Codes/blob/master/all/all.csv?raw=true'
df = pd.read_csv(url,index_col=0)
#df = pd.read_csv(url)

print(df.head(5))

Remarque : Cela fonctionne uniquement avec les liens GitHub et non avec les liens GitLab ou Bitbucket.

2
Allika 26 juil. 2020 à 15:55