I'm working on a program that generates a dynamic google spreadsheet report.
Sometimes when I create a new row (with data) in google spreadsheet using gspread append_row function it doesn't work as expected and no exception is thrown. The new line is added but there is no data inside.
example code below:
#!/usr/bin/python
import gspread
# report line data
report_line = ['name', 'finished <None or int>', 'duration <str>', 'id']
connection = gspread.login('[email protected]', 'password')
spreadsheet = connection.open('report_name')
sheet = spreadsheet.sheet1
sheet.append_row(report_line)
Am I missing something? Is this a known issue? How can I be certain that the append_row function completes successfully?
It appends a new row after the last row in the sheet. A sheet has 1000 rows by default so you should find your appended row at index=1001.
Try to resize the sheet to the number of rows that are present:
sheet.resize(1)
You should now be able to append rows at the end of your data rather than at the end of the sheet. The number of rows has to be >= 1.
I'm adding to @BFTM's answer:
sheet.resize(1)
one time, and not everytime you want to add append a row (it will delete all the rows you wrote beyond 1)append_row()
as usual. If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With