我使用Python
和gspread
将本地.csv数据上传到谷歌SpreadsheetA
。
我有一个单独的谷歌SpreadsheetB
,它使用=IMPORTRANGE
从SpreadsheetA
导入数据,并创建一个数据透视表和相应的图表(均位于SpreadsheetB上(。
如果我手动调整SpreadsheetA
中的任何数据(例如,更改任何单元格的值、向空单元格添加值等(,那么SpreadsheetB
中的数据及其相应的透视表和图表将使用SpreadsheetA
中的新数据动态更新。
然而,当通过Python以编程方式用新数据更新SpreadsheetA
时,SpreadsheetB
中的IMPORTRANGE
不会捕获新数据。
关于为什么会发生这种情况,以及我如何解决问题,有什么想法吗?
表A和表B显示的行数相同。不过,我对你的IMPORTRANGE((公式有点困惑,为什么要使用"与"?
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/16DyWC8rsQB1ThpLiQh0p5xH9CYK2cPqbPH547ybw2Fo/edit#gid=1875728384",""&"TestgAPI!A:J")
我改成了这个:
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/16DyWC8rsQB1ThpLiQh0p5xH9CYK2cPqbPH547ybw2Fo/edit#gid=1875728384","TestgAPI!A:J")
虽然可能不是理想的,但我的解决方案是使用gspread
向spreadsheetA
添加一个新的worksheet
,它以某种方式启动了SpreadsheetB
中的importrange()
。
如果有人知道的话,我仍然希望看到一个更清洁的解决方案,但自一周前实施以来,这种解决方案一直有效。