Je lis le contenu d'un tableur dans des pandas. DataNitro a une méthode qui renvoie une sélection rectangulaire de cellules sous forme de liste de listes. Alors
table = Cell("A1").table
donne
table = [['Heading1', 'Heading2'], [1 , 2], [3, 4]]
headers = table.pop(0) # gives the headers as list and leaves data
Je suis en train d'écrire du code pour traduire cela, mais je suppose que c'est une utilisation tellement simple qu'il doit y avoir une méthode pour le faire. Je n'arrive pas à le trouver dans la documentation. Des indications sur la méthode qui simplifieraient ceci?
Appelez directement le constructeur pd.DataFrame
:
df = pd.DataFrame(table, columns=headers)
df
Heading1 Heading2
0 1 2
1 3 4
Avec l'approche expliquée par EdChum ci-dessus, les valeurs de la liste sont affichées sous forme de lignes. Pour afficher les valeurs des listes sous forme de colonnes dans DataFrame, utilisez simplement transpose () comme suit:
table = [[1 , 2], [3, 4]]
df = DataFrame(table)
df = df.transpose()
df.columns = ['Heading1', 'Heading2']
La sortie est alors:
Heading1 Heading2
0 1 3
1 2 4
Même sans pop
la liste que nous pouvons faire avec set_index
pd.DataFrame(table).T.set_index(0).T
Out[11]:
0 Heading1 Heading2
1 1 2
2 3 4