2016-07-17 12 views
0
for foo in root.finadall(xpath): 
     print (foo.name[xpath], foo.country[xpath]) 
     df = DataFrame({'Name': foo.name[xpath], 'conutry': foo.country[xpath]}) 
     df.to_excel('foo.xlsx', sheet_name='sheet1', index=False) 

Der Ausgang druckt die vielen Namen in der Konsole. Aber in Excel speichert es nur die kleinste. Wie speichere ich alle Namen im Excel.Schreiben Sie die Konsolenausgabe in Excel-Tabelle mit DataFrame Python

auf klare Vorstellung zu bekommen:

The console output: 
Name   Country 
jennfier  abc 
andy john  cde 
carwl   xyz 

in Excel sehe ich die einzige carwl xyz.

Antwort

1

Sie sind in jeder Iteration der Schleife Ihre Excel-Datei zu überschreiben, so versuchen Sie zunächst Ihre Daten zu sammeln, erzeugen dann einen einzelnen Datenrahmen basierend auf gesammelten Daten und als Excel

DataFrame({'Name': collected_data_list}).to_excel('foo.xlsx', sheet_name='sheet1', index=False) 

PS speichern Sie sollten wirklich eine Probe und gewünschte Datensätze zur Verfügung stellen, wenn Sie saubere Antworten haben möchten ...

+0

Ich habe die Frage aktualisiert. – louis