【发布时间】:2020-08-07 21:01:40
【问题描述】:
我的目标是通过将第一个工作表的内容替换为我自己的数据表(即针对类属性的实例表)来更新 Google 表格文档。我曾尝试使用模块 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 可读但不能是字符串,否则它会被解释为单个参数!
非常感谢任何帮助。
【问题讨论】:
标签: python json pandas google-sheets gspread