Sto leggendo da un foglio di Excel e voglio leggere determinate colonne: colonna 0 perché è l'indice di riga e le colonne 22:37. Ora qui è quello che faccio:come leggere determinate colonne da Excel usando Pandas - Python
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)
Ma mi auguro ci sia modo migliore per farlo! So se faccio parse_cols=[0, 22,..,37]
Posso farlo, ma per dataset di grandi dimensioni questo non ha senso.
ho fatto anche questo:
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)
ma si legge i primi 15 colonne che è la lunghezza del s
.
che avrebbe dovuto generare un elenco di colli e passare questo a 'parse_cols 'eg 'parse_cols = [0, 22,23,24 ....., 37]' piuttosto che quello che stai facendo ora – EdChum
Non sei sicuro del motivo per cui non ha funzionato, potrebbe essere un bug, cosa succede quando passi un elenco hard coded: 'df = pd.read_excel (file_loc, index_col = Nessuno, na_values = ['NA'], parse_cols = [0,22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37) '? – EdChum
@EdChum, funziona se si passa una lista codificata. – Ana