[英]Question on using gspread to retrieve data and update
我有一個要檢索的谷歌電子表格:這就是數據在谷歌表格上的顯示方式。 'Business' 是第一個 header,第二行 'Name','Age','Fav color' 是第二個標題。
商業 | ||
---|---|---|
姓名 | 年齡 | 最喜歡的顏色 |
a1 | b1 | 綠色的 |
a2 | b2 | 綠色的 |
a3 | b3 | 綠色的 |
import gspread
import pandas as pd
import gspread_dataframe as gd
worksheet = sh.get_worksheet(index[0])
df = pd.DataFrame(final_worksheet.get_all_records())
當我得到工作表時,output 顯示為:
商業 | |
---|---|
姓名 | 最喜歡的顏色 |
a1 | 綠色的 |
a2 | 綠色的 |
a3 | 綠色的 |
這不是我要找的。
問題:我希望我可以獲取 dataframe 作為列標題(沒有業務標題),然后允許我插入一些值,以便最終的 output(在谷歌電子表格上)將是:
商業 | ||
---|---|---|
姓名 | 年齡 | 最喜歡的顏色 |
約翰 | 99 | 藍色的 |
a1 | b1 | 綠色的 |
a2 | b2 | 綠色的 |
a3 | b3 | 綠色的 |
這是我用來更新電子表格的代碼:
final_updated = updated.append(final_output)
gd.set_with_dataframe(final_worksheet, final_updated)
當使用final_worksheet.get_all_records()
檢索工作表中的值時,將返回以下值
[{'': 'Fav color', 'Business': 'Name'}, {'': 'Green', 'Business': 'a1'}, {'': 'Green', 'Business': 'a2'}, {'': 'Green', 'Business': 'a3'}]
get_all_values()
檢索到的切片創建 dataframe ? 關於I am hoping that I can grab the dataframe with Name, Age, Fav color as column headers (without the Business header) and then allow me to insert some values so that the final output (on google spreadsheet) would be:
案例,如何使用insert_rows()
的方法? 我認為在這種情況下,腳本可能會更簡單。
在您的腳本中,聲明了worksheet
。 但似乎final_worksheet
沒有聲明。
當以上幾點反映到您的腳本中時,它變成如下。
在這個修改后的腳本中, df = pd.DataFrame(final_worksheet.get_all_records())
被修改了。
df = pd.DataFrame(final_worksheet.get_all_records())
至:
worksheet = sh.get_worksheet(index[0])
worksheet.insert_rows([['John', 99, 'Blue']], row=3, value_input_option='USER_ENTERED')
在這個修改后的腳本中,您要插入的行是使用insert_rows()
的方法放置的。
worksheet = sh.get_worksheet(index[0]) df = pd.DataFrame(final_worksheet.get_all_records())
至:
worksheet = sh.get_worksheet(index[0]) worksheet.insert_rows([['John', 99, 'Blue']], row=3, value_input_option='USER_ENTERED')
[['John', 99, 'Blue']]
的值直接插入到第 3 行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.