Ich lese den Inhalt einer Tabelle in Pandas. DataNitro verfügt über eine Methode, die eine rechteckige Auswahl von Zellen als Listenliste zurückgibt. So
table = Cell("A1").table
gibt
table = [['Heading1', 'Heading2'], [1 , 2], [3, 4]]
headers = table.pop(0) # gives the headers as list and leaves data
Ich bin damit beschäftigt, Code zu schreiben, um dies zu übersetzen, aber ich schätze, dass es eine so einfache Anwendung ist, dass es eine Methode dafür geben muss. Cant scheint es in der Dokumentation zu finden. Gibt es Hinweise auf die Methode, die dies vereinfachen würde?
Rufen Sie den pd.DataFrame
-Konstruktor direkt auf:
df = pd.DataFrame(table, columns=headers)
df
Heading1 Heading2
0 1 2
1 3 4
Mit dem oben von EdChum erläuterten Ansatz werden die Werte in der Liste als Zeilen angezeigt. Um stattdessen die Werte von Listen als Spalten in DataFrame anzuzeigen, verwenden Sie einfach transpose () wie folgt:
table = [[1 , 2], [3, 4]]
df = DataFrame(table)
df = df.transpose()
df.columns = ['Heading1', 'Heading2']
Die Ausgabe ist dann:
Heading1 Heading2
0 1 3
1 2 4
Auch ohne pop
der Liste können wir mit set_index
pd.DataFrame(table).T.set_index(0).T
Out[11]:
0 Heading1 Heading2
1 1 2
2 3 4