Python xlsxwriter überschreibt Tabellen warum?
Hallo ich habe ein Skript programmiert was einen Text in eine Excel Datei reinschreibt
und Dann wenn man das Programm nochmal ausführt soll in eine andere Tabelle ein anderer eintrage geschrieben werden nur wenn ich das Programm zum zweiten mal geöffnet habe wird alles überschrieben und alle anderen Einträge werden alle gelöscht kann mir bitte jemand helfen. :(
hier das Skript :
....
open1 = open('number.txt','r+')
read1 = open1.read()
integer = int(read1)
read2 = (integer + 1)
open2 = open('number.txt','w+')
open2.write(str(read2))
tabe = ("B"+str(read2))
#write in .xls
outWorkbook = xlsxwriter.Workbook("EXCEL.xlsx")
outSheet = outWorkbook.add_worksheet()
outSheet.write(tabe,price)
outWorkbook.close()
3 Antworten
Ich kenne das Tool zwar nicht so gut. Doch nachdem was ich gelesen habe wird nirgendwo geprüft ob die Datei bereits Inhalte hat.
Gucke in die Api des Tools. Oft ist es so, dass es verschiedene Write Möglichkeiten gibt. Die Basis ist oft Erzeuge Datei und Schreibe Daten ... dabei wird aber häufig nicht geprüft ob es die Datei bereits gibt, die Datei wird eindach überschrieben.
Gucke daher ob es eine Möglichkeit gibt diesen Weg zu umgehen. Bspw. Prüfe ob es eine Datei unter den Namen bereits gibt deren Größe > 0 ist und wenn das der Fall ist erzeuge eine neue Datei mit bspw. Zusätzlicher Nr im Titel. Oder gucke ob du Inhalte nicht anhängen kannst.
Nutz am besten Openpyxl damit kannst du auch die Excel einlesen und dann mit dem neuen Datensatz abspeichern. Updaten heißt dort immer überschreiben, sprich: Alte Daten sammeln und mit den neuen wieder einfügen
naqja scheint das du die immer wieder neu erzeugst , wenn müsstest du die wieder einlesen ?
# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook('Expenses01.xlsx')
worksheet = workbook.add_worksheet()
klar nech
siehe https://xlsxwriter.readthedocs.io/tutorial01.html
nennt sich ja WRITER