首页 > 解决方案 > 以最简单的方式通过python使用google sheet

问题描述

所以基本上我正在制作一个不和谐的机器人,它可以在我玩的游戏中交易游戏内的物品,并将订单存储在谷歌表中。什么是通过 python 做到这一点的最简单方法,我知道如何做所有的机器人工作,但是当涉及到访问谷歌工作表、搜索它并收集某些信息行时,我找不到太多帮助。我将使用什么模块来使这尽可能简单,该模块需要能够在工作表中搜索一列中的特定值,找到第一个找到列中的第一个空单元格以及从排。如果有人知道这样做的好模块,将不胜感激。

注意:我已经为工作表 api 设置了 OAuth 和所有类似的东西,我看到有一堆模块可以更轻松地访问工作表,所以我想知道哪个模块最能简化编码,因为我不是超级有经验。

标签: pythongoogle-sheets-apipython-module

解决方案


使用 Googlesheets API 获取数据,然后使用 pandas 将数据作为数据框读取。拥有数据框后,Pandas 可以通过多种方式完成此操作:“需要能够在工作表中搜索某一列中的特定值、找到列中的第一个空单元格以及收集一行中的所有信息”

from googleapiclient.discovery import build
from google.oauth2.credentials import Credentials
import pandas as pd

SAMPLE_SPREADSHEET_ID = 'sheet ID' # your sheet ID
SAMPLE_NAME = 'sheet name' # your sheet name
RANGE = '!A1:D2' # your row/col sheet range
TOKEN_PATH = 'token.json' # path to your token file
SCOPES = ['https://www.googleapis.com/auth/spreadsheets.readonly'] 
SAMPLE_RANGE_NAME = SAMPLE_NAME + RANGE 

creds = Credentials.from_authorized_user_file(TOKEN_PATH, SCOPES)
service = build('sheets', 'v4', credentials=creds)
sheet = service.spreadsheets()
result = sheet.values().get(spreadsheetId=SAMPLE_SPREADSHEET_ID,
                            range=SAMPLE_RANGE_NAME).execute()
values = result.get('values', [])
        
df = pd.DataFrame(data=values[1:], columns=values[0])

改编自https://developers.google.com/sheets/api/quickstart/python


推荐阅读