Ich möchte Excel-Dateien verwenden, um mit Python erstellte Daten zu speichern. Mein Problem ist, dass ich einer vorhandenen Excel-Datei keine Blätter hinzufügen kann. Hier schlage ich einen Beispielcode vor, mit dem Sie arbeiten können, um dieses Problem zu lösen
import pandas as pd
import numpy as np
path = r"C:\Users\fedel\Desktop\excelData\PhD_data.xlsx"
x1 = np.random.randn(100, 2)
df1 = pd.DataFrame(x1)
x2 = np.random.randn(100, 2)
df2 = pd.DataFrame(x2)
writer = pd.ExcelWriter(path, engine = 'xlsxwriter')
df1.to_excel(writer, sheet_name = 'x1')
df2.to_excel(writer, sheet_name = 'x2')
writer.save()
writer.close()
Dieser Code speichert zwei DataFrames auf zwei Blättern mit den Namen "x1" bzw. "x2". Wenn ich zwei neue DataFrames erstelle und versuche, mit demselben Code zwei neue Blätter hinzuzufügen, 'x3' und 'x4', gehen die ursprünglichen Daten verloren.
import pandas as pd
import numpy as np
path = r"C:\Users\fedel\Desktop\excelData\PhD_data.xlsx"
x3 = np.random.randn(100, 2)
df3 = pd.DataFrame(x3)
x4 = np.random.randn(100, 2)
df4 = pd.DataFrame(x4)
writer = pd.ExcelWriter(path, engine = 'xlsxwriter')
df3.to_excel(writer, sheet_name = 'x3')
df4.to_excel(writer, sheet_name = 'x4')
writer.save()
writer.close()
Ich möchte eine Excel-Datei mit vier Blättern: 'x1', 'x2', 'x3', 'x4'. Ich weiß, dass 'xlsxwriter' nicht die einzige "Engine" ist, es gibt 'openpyxl'. Ich habe auch gesehen, dass es bereits andere Leute gibt, die über dieses Problem geschrieben haben, aber ich kann immer noch nicht verstehen, wie das geht.
Hier ein Code aus diesem Link
import pandas
from openpyxl import load_workbook
book = load_workbook('Masterfile.xlsx')
writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2'])
writer.save()
Sie sagen, dass es funktioniert, aber es ist schwer herauszufinden, wie. Ich verstehe nicht, was "ws.title", "ws" und "dict" in diesem Zusammenhang sind.
Wie können Sie "x1" und "x2" am besten speichern, dann die Datei schließen, erneut öffnen und "x3" und "x4" hinzufügen?