2017-06-04 251 views
0

將不同大小的數據框寫入同一工作表的正確程序流程是什麼?但確保只有寫入的最新數據值可見?使用pygsheets將數據框讀取/寫入Google表格

在這裏是我的原始序列:

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行×12個COLS和第二寫爲2400行×12個COLS的周仍然會顯示由現有的寫數據以上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)) 

以上順序基本上我想要做什麼b我不喜歡刪除wks(我失去了我所有的手動格式)。我知道必須有一個正確的方法來完成,但我不太瞭解pygsheets API。

請問一個更高級的pygsheet用戶請指教正確的程序流程和使用方法?

TIA, --Rj

+0

我做了一些研究,發現通過設置set_dataframe方法的fit = True選項完成了我所尋找的內容: – jainraje

回答

0

fit=True將基本調整片以適合你數據幀。所以如果你想保持相同大小的紙張,你可以在下一次寫入前清除紙張。它會比第二種解決方案更容易。另外,如果您只想清除之前寫入的範圍,則可以通過一個範圍來清除功能。

wks.set_dataframe(df, (1, 1)) 
wks.clear() 
wks.set_dataframe(df, (1, 1)) 
相關問題