0

将不同大小的数据帧写入同一个工作表但确保只有最近写入的数据值可见的正确程序流程是什么?

这是我的原始序列:

gc = pygsheets.authorize(outh_file=oauth_file)
sh = gc.open(sheet_name)
wks = sh.worksheet_by_title(wks_name)
wks.set_dataframe(df, (1, 1))

上述序列的问题是,如果第一次写入是 3800 行 x 12 列,第二次写入是 2400 行 x 12 列,则 wks 仍将显示来自先前写入的 2400 以上行的数据。

我的第二个解决方案(基本上是为了让它为我工作):

gc = pygsheets.authorize(outh_file=oauth_file)
sh = gc.open(spreadsheet_name)
wks = sh.worksheet_by_title(sheet_name)
sh.del_worksheet(wks)
sh.add_worksheet(sheet_name, rows=len(df) + 1, cols=len(df.columns))
wks = sh.worksheet_by_title(sheet_name)
wks.set_dataframe(df, (1, 1))

上面的序列基本上可以满足我的要求,但我不喜欢删除 wks(我丢失了所有手动格式)。我知道必须有正确的方法来完成,但我不太了解 pygsheets API。

请更高级的 pygsheet 用户建议正确的程序流程和使用方法?

TIA,--Rj

4

1 回答 1

1

fit=True基本上会调整工作表的大小以适合您的数据框。因此,如果您想保持纸张大小相同,则可以在下次写入之前清除纸张。它会比你的第二个解决方案更容易。此外,如果您只想清除之前编写的范围,可以将范围传递给 clear 函数。

wks.set_dataframe(df, (1, 1))
wks.clear()
wks.set_dataframe(df, (1, 1))
于 2017-06-05T10:05:17.350 回答