Abspeichern multipler Excel Files in neuem Ordner
Verfasst: Montag 1. August 2022, 20:04
Hallo zusammen,
Ich bin erst vor Kurzem mit Python gestartet, also wirklich ein Newby und ganz neu im Forum. Das heißt, das stimmt nicht ganz, aber bislang war ich stille Mitleserin. Nun habe ich folgendes Problem, zu dem ich bislang einfach keine Lösung finden konnte (trotz google und Forumsuche).
Ich möchte eine Reihe von Excel-Dateien, die jeweils aus mehreren Sheets bestehen, einlesen, umformatieren bzw. für weitere Berechnungen nutzen und dann in einem neuen Ordner wieder abspeichern. Und hier liegt das Problem. Ich schaffe es, entweder ein Excel-File mit vorgegebenem Namen in einem neuen Ordner abzuspeichern, oder alle Excel-Files in dem Ordner abzuspeichern, aus dem die Dateien auch geladen wurden. Sobald ich aber alle Excel-Dateien in einem neuen (Unter)ordner speichern möchte, klappt nichts mehr und mir ist nicht klar, warum sich nicht beides (neuer Ordner und Index) kombinieren lässt . Es soll aber ein neuer Ordner sein, weil ich mir die Originaldateien nicht überschreiben möchte. Mein bisheriger Code sieht etwa so aus:
import pandas as pd
import glob
File_Path = r"C:/Users/Name/Desktop/Testfiles"
Files = glob.glob(File_Path + "/*.xlsx")
#### Excel-Files einlesen
for file in Files:
# Metadaten einlesen
df_meta = pd.read_excel(file, sheet_name="Meta Data", header=None)
# Daten einlesen
df_data = pd.read_excel(file, sheet_name="Data")
# HIER STEHT CODE, DER DIE FILES UMFORMATIERT
# Write Output Files
writer = pd.ExcelWriter("C:/Users/Name/Desktop/Testfiles/Out/file.xlsx", engine='xlsxwriter') # Für eine Datei in neuem Ordner
# writer = pd.ExcelWriter(file, engine='xlsxwriter') # Für alle Dateien im selben Ordner
df_meta.to_excel(writer, index=False, header=False, sheet_name="Meta Data") # Erstes Blatt
df_data.to_excel(writer, index=False, sheet_name="Data", na_rep='NaN', float_format="%.2f") # Zweites Blatt
writer.sheets['Data'].set_column(0, 8, 17)
writer.save()
Ich freue mich über hilfreiche Tipps.
Vielen Dank und allen einen guten Abend!
Kringel
Ich bin erst vor Kurzem mit Python gestartet, also wirklich ein Newby und ganz neu im Forum. Das heißt, das stimmt nicht ganz, aber bislang war ich stille Mitleserin. Nun habe ich folgendes Problem, zu dem ich bislang einfach keine Lösung finden konnte (trotz google und Forumsuche).
Ich möchte eine Reihe von Excel-Dateien, die jeweils aus mehreren Sheets bestehen, einlesen, umformatieren bzw. für weitere Berechnungen nutzen und dann in einem neuen Ordner wieder abspeichern. Und hier liegt das Problem. Ich schaffe es, entweder ein Excel-File mit vorgegebenem Namen in einem neuen Ordner abzuspeichern, oder alle Excel-Files in dem Ordner abzuspeichern, aus dem die Dateien auch geladen wurden. Sobald ich aber alle Excel-Dateien in einem neuen (Unter)ordner speichern möchte, klappt nichts mehr und mir ist nicht klar, warum sich nicht beides (neuer Ordner und Index) kombinieren lässt . Es soll aber ein neuer Ordner sein, weil ich mir die Originaldateien nicht überschreiben möchte. Mein bisheriger Code sieht etwa so aus:
import pandas as pd
import glob
File_Path = r"C:/Users/Name/Desktop/Testfiles"
Files = glob.glob(File_Path + "/*.xlsx")
#### Excel-Files einlesen
for file in Files:
# Metadaten einlesen
df_meta = pd.read_excel(file, sheet_name="Meta Data", header=None)
# Daten einlesen
df_data = pd.read_excel(file, sheet_name="Data")
# HIER STEHT CODE, DER DIE FILES UMFORMATIERT
# Write Output Files
writer = pd.ExcelWriter("C:/Users/Name/Desktop/Testfiles/Out/file.xlsx", engine='xlsxwriter') # Für eine Datei in neuem Ordner
# writer = pd.ExcelWriter(file, engine='xlsxwriter') # Für alle Dateien im selben Ordner
df_meta.to_excel(writer, index=False, header=False, sheet_name="Meta Data") # Erstes Blatt
df_data.to_excel(writer, index=False, sheet_name="Data", na_rep='NaN', float_format="%.2f") # Zweites Blatt
writer.sheets['Data'].set_column(0, 8, 17)
writer.save()
Ich freue mich über hilfreiche Tipps.
Vielen Dank und allen einen guten Abend!
Kringel