如何根据Google表格中的输入/数据提取特定的行数据?

时间:2019-09-03 16:12:32

标签: python google-api google-sheets-api

我正在尝试设置标签打印软件以在仓库中使用,但是目前在提取某些特定数据时遇到了问题。

我没有使用Google Sheet API的经验,也没有使用Python的经验,但是足够了。我发布的代码是Google提供的示例的95%。

例如,我一行中包含一些数据:

SKU:价格:标题:

1234 19.95随机物品

我希望能够基于具有该SKU的ROW提取“标题”或“价格”。然后在相应标签的该字段中打印带有“价格”的标签。有点像字典,但带有Google表格中的实时信息。如果有任何方法可以做到,我将很高兴听到它。 我还希望将此信息存储在一个可用于打印的变量中。

我目前拥有从Google表格导入的CSV中提取的大部分数据,但是您知道,CSV具有静态信息,并且不使用Google表格进行更新。

如果可能,我希望提取所有信息,但我需要的最大东西是价格,价格总是在变化。

from __future__ import print_function
import pickle
import os.path
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request


truck = input('Truck?\n')


# If modifying these scopes, delete the file token.pickle.
SCOPES = ['https://www.googleapis.com/auth/spreadsheets.readonly']

# The ID and range of a spreadsheet.
SPREADSHEET_ID = '11MeWiie5Tndu2uUHYIagLzDnCdD24h40oUWKFebDGjk'
RANGE_NAME = f'{truck}!A2:B'

def main():

    # Call the Sheets API
    sheet = service.spreadsheets()
    result = sheet.values().get(spreadsheetId=SPREADSHEET_ID,
                                range=RANGE_NAME).execute()
    values = result.get('values', [])

    if not values:
        print('No data found.')
    else:
        print('SKU, Price:')
        for row in values:
            # Print columns A and B, which correspond to indices 0 and 1.
            print('%s, %s' % (row[0], row[1]))

if __name__ == '__main__':
    main()

当前,此脚本将拉出两列“ SKU”和“ Price”,但将拉出所有行。如果我应该使用完全不同的脚本,而不是根据示例进行构建,请告诉我。

0 个答案:

没有答案