Ich habe eine Excel-foo.xlsx
mit ca. 40 Blatt Datei sh1
, sh2
usw. Jedes Blatt hat das Format:Python Schleife durch Excel-Sheets, legen Sie in eine df
area cnt name\nparty1 name\nparty2
blah 9 5 5
word 3 7 5
In jedem Blatt Ich möchte die umbenennen vars mit dem Format name\nparty
, nur die party
als ein Label zu haben. Beispiel Ausgabe:
area cnt party1 party2 sheet
bacon 9 5 5 sh1
spam 3 7 5 sh1
eggs 2 18 4 sh2
ich mit in der Datei lese:
book = pd.ExcelFile(path)
Und dann fragen, ob ich tun muss:
for f in filelist:
df = pd.ExcelFile.parse(book,sheetname=??)
'more operations here'
# only change column names 2 and 3
i, col in enumerate(df):
if i>=2 and i<=3:
new_col_name = col.split("\n")[-1]
df[new_col_name] =
Oder so ähnlich?
Es tut mir leid ich war unklar. Der Name in 'name \ nparty' ändert jedes Blatt. Es sind Wahlergebnisse und ich will nicht, dass die Kandidaten nur ihre Partei nennen. Gibt es eine Art Wildcard oder String Split um nur alles nach dem '\ n' zu behalten? –
Ich denke .split ('\ n') [- 1] behält nur Teile eines Strings nach dem \ n. Zum Beispiel: "Frank Underwood \ nFiktional Democrat" .split ('\ n') [- 1] gibt 'Fictional Democrat' zurück – DalekSec
@DalekSec hat diesen Beitrag gerade bearbeitet! Der richtige Ansatz ist sicher. – asongtoruin