簡體   English   中英

更新到 Google 表格

[英]Update to Google Sheet

您好,我正在嘗試將項目列表更新到 Google 工作表。

示例我有一個 csv 文件 data.csv,如下所示

Item Name,Qty,Price,Store,Location,Stock
Apple,50,50,Store-1,LA,1000
Mango,30,100,Store-2,SL,5000
Bananna,10,10,Store-3,NY,4000

我的 Python 文件代碼是:

client = gspread.service_account_from_dict(credentials)
sheetName = "Sheet1"
obj = {}
with open('data.csv') as f:
    r = csv.reader(f)
    next(f)
    for row in r:
        obj[row[0]] = row[1:6]

spreadsheet = client.open("CSV-to-Google-Sheet")
sheet = spreadsheet.worksheet(sheetName)
values = sheet.get_all_values()[1:]
res = [obj.get(row[0]) if obj.get(row[0]) else ["", ""] for row in values]
sheet.update("B2", res, value_input_option="USER_ENTERED")

所以每當我們運行腳本時,

它應該檢查 Apple 是否存在於 Google 工作表Column 1 Item Name中,然后它應該開始填充剩余的列

在此處輸入圖像描述

數量到數量列

價格到價格列

存儲到存儲列

位置到位置列

庫存到庫存列

您可以使用以下方法將當前的 google sheet 數據放入數據框中:

import pygsheets

gc = pygsheets.authorize(service_file=service_file)
sh = gc.open("Sheet1")
wks = sh.sheet1
old_data = pd.DataFrame(wks.get_all_records())

然后您可以對數據框進行任何您想要的檢查並使用更新谷歌表。

df = new_data # your new dataset (dataframe)

found = old_data[old_data['Item Name'].str.contains('Apple')]
if found.count() > 0: 
   wks.set_dataframe(df, (1, 1))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM