Моя цель - обновить документ Google Sheets, заменив содержимое его первого листа таблицей моих собственных данных (то есть таблицей экземпляров для атрибутов класса). Я пытался использовать модуль gspread для этого, но он не сработал так хорошо: если я запускаю строку
client.open("GoogleSheetName").sheet1.update('A1:R181',Member.display().to_json())
(где Member - мой класс, а display () - мой Метод класса, который просто преобразует мои данные в объект pandas dataFrame.), вся строка Member.display().to_json()
помещается в ячейку A1, как будто она никогда не распаковывается и просто остается как одна строка. Если я использую модуль json и дам данные с помощью json.dumps(Member.display().to_dict())
, я получаю ту же проблему.
Я также попытался просто изменить данные на Member.display().to_dict()
, и в этом случае я получил 'Invalid JSON payload received
'ошибка.
Похоже, что данные должны быть в матричном формате, чтобы они работали, т.е. [[..,..,..][..,..,..]...]
, поскольку это единственный формат, который работал должным образом в моем случае. Я знаю, что это работает, потому что когда я тестирую API, запуская
client.open("GoogleSheetName").sheet1.update('A1:B2', [[1, 2], [3, 4]])
, каждое число помещается в отдельную ячейку, как требуется. Это формат, который я должен использовать?
Как мне решить эту проблему? Как будто мои данные должны быть отправлены JSON для чтения, но не могут быть строкой, иначе они интерпретируются как один аргумент!
Любая помощь будет принята с благодарностью.