Je lis depuis une feuille Excel et je veux lire certaines colonnes: la colonne 0 car c'est l'index des lignes, et les colonnes 22:37. Maintenant, voici ce que je fais:
import pandas as pd
import numpy as np
file_loc = "path.xlsx"
df = pd.read_Excel(file_loc, index_col=None, na_values=['NA'], parse_cols = 37)
df= pd.concat([df[df.columns[0]], df[df.columns[22:]]], axis=1)
Mais j'espère qu'il y a une meilleure façon de le faire! Je sais que si je le fais parse_cols=[0, 22,..,37]
Je peux le faire, mais pour les grands ensembles de données, cela n'a pas de sens.
J'ai aussi fait ça:
s = pd.Series(0)
s[1]=22
for i in range(2,14):
s[i]=s[i-1]+1
df = pd.read_Excel(file_loc, index_col=None, na_values=['NA'], parse_cols = s)
Mais il lit les 15 premières colonnes, ce qui correspond à la longueur de s
.
Vous pouvez utiliser des index de colonne (lettres) comme ceci:
import pandas as pd
import numpy as np
file_loc = "path.xlsx"
df = pd.read_Excel(file_loc, index_col=None, na_values=['NA'], usecols = "A,C:AA")
print(df)
Documentation correspondante :
parse_cols : int ou list, par défaut Aucun
- Si aucun analyse alors toutes les colonnes,
- Si int indique alors la dernière colonne à analyser
- Si la liste des entrées indique la liste des numéros de colonne à analyser
- Si la chaîne indique une liste de noms et de plages de colonnes séparés par des virgules (par exemple, "A: E" ou "A, C, E: F")
parse_cols
est obsolète, utilisez plutôt usecols
c'est:
df = pd.read_Excel(file_loc, index_col=None, na_values=['NA'], usecols = "A,C:AA")