Я не хотел связываться с вызовами более низкого уровня, так как я на самом деле не программист. Однако ваш путь очень похож на тот, который я использовал. Просто для пояснения, мне нужен был только добавленный заголовок.
В итоге я получил количество ячеек в строке следующим образом:
firstRow = len(sheet.row_values(1))
И обновил следующую ячейку, используя это число
projCol = firstRow+1
sheet.update_cell(1, projCol, projName)