I have different Python list variables(data1, data2, data3 ect) containing data which I want to put into an already existing excel sheet. Presently My loop goes like this.
for row, entry in enumerate(data1,start=1):
st.cell(row=row, column=1, value=entry)
work.save('sample.xlsx')
for row, entry in enumerate(data2,start=1):
st.cell(row=row, column=2, value=entry)
work.save('sample.xlsx')
for row, entry in enumerate(data3,start=1):
st.cell(row=row, column=3, value=entry)
work.save('sample.xlsx')
for row, entry in enumerate(data4,start=1):
st.cell(row=row, column=4, value=entry)
work.save('sample.xlsx')
for row, entry in enumerate(data5,start=1):
st.cell(row=row, column=5, value=entry)
work.save('sample.xlsx')
for row, entry in enumerate(data6,start=1):
st.cell(row=row, column=6, value=entry)
work.save('sample.xlsx')
for row, entry in enumerate(data7,start=1):
st.cell(row=row, column=7, value=entry)
work.save('sample.xlsx')
Once my Python script runs, It will store the data from the 1st row. If I am again running the script I want the new data to come below the available data
How to do so?
openpyxl has many different methods to be precise but ws.append in previous answers is strong enough to answer your demands. Consider you have written your data to a new sample.xlsx:
Now, to append new lines you must first open an existing book with load_workbook:
ws.append()
will always add rows below any existing data.Try using
it will return the last row value, You can start writing the new values from here.
Hope it helps.Happy Coding :)