Ich habe viele Excel-Dateien in einem Verzeichnis mit der gleichen Struktur für jede Datei - zum Beispiel könnten die folgenden Daten sein test1.xlsx:Erstellen Sie ein neues Blatt mit Summen der spezifischen Spalte für jede Datei im Verzeichnis mehrerer xlsx-Dateien
Date Type Name Task Subtask Hours
3/20/16 Type1 Name1 TaskXyz SubtaskXYZ 1.00
3/20/16 Type1 Name2 TaskXyz SubtaskXYZ 2.00
3/20/16 Type1 Name3 TaskXyz SubtaskXYZ 1.00
Was würde ich tun möchte, ist eine neue Excel-Datei mit dem Dateinamen und Summe der einzelnen Dateien in dem Verzeichnis erstellen, die wie folgt aussehen:
File Name Sum of hours
Test1.xlsx 4
test2.xlsx 10
... ...
ich habe gerade angefangen zu spielen, um mit glob, und das war hilfreich für ein großer Datenrahmen wie folgt zu schaffen:
all_data = pd.DataFrame()
for f in glob.glob("path/*.xlsx"):
df = pd.read_excel(f, skiprows=4,index_col=None, na_values=['NA'])
all_data = all_data.append(df,ignore_index=True)
Dies hat eine Datenrahmen aller Daten Agnostiker des Blattes hilfreich kam es aus für die Erstellung und ich in der Lage gewesen groupbys zu verwenden, um die Daten auf der Makroebene zu analysieren, sondern , für alles, was ich weiß, ich kann nicht für Blatt Summe der Datenrahmen setzen in nur Dinge wie:
task_output = all_data.groupby(["Task","Subtask"])["Hours"].agg([np.sum,np.mean])
Wo auf der gesamten Datenrahmen ich in der Lage bin zu summieren und eine mittlere vs jedes einzelne Blatt.
Irgendwelche Ideen, wo man damit anfangen soll?
könnten Sie bitte "nicht ideal" definieren? – MaxU
@MaxU Ich habe ein bisschen mehr Kontext hinzugefügt, kurz gesagt, ich konnte eine Summe des Datenrahmens als Ganzes erhalten (alle Excel-Blätter in einem Datenrahmen), aber ich konnte keine Summe davon bekommen Stunden pro Blatt. – tmgolf
Wie möchten Sie Ihre Daten gruppieren - nach Dateiname oder nach '[" Task "," Subtask "]'? Und haben Sie Ihre Daten in mehreren Blättern in Ihrer Excel-Datei oder ist es immer ein Blatt? – MaxU