以最简单的方式通过python使用google sheets

v6ylcynt  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(504)

所以基本上,我正在制作一个discord机器人,它在我玩的游戏中为ingame项目进行交易,并将订单存储在google表单中。通过python实现这一点最简单的方法是什么?我知道如何实现所有的机器人功能,但是当涉及到访问google工作表、搜索它并收集某些行的信息时,我找不到什么帮助。我将使用什么模块使这尽可能简单,该模块需要能够在表格中搜索一列中的特定值,找到第一列中的第一个空单元格,以及从一行中收集所有信息。如果有人知道这样做的好模块,将不胜感激。
注意:我已经为sheets api设置了oauth和所有类似的东西,我看到有一堆模块使访问工作表变得更容易,但是我想知道哪一个模块最适合使编码更容易,因为我不是非常有经验。

6rqinv9w

6rqinv9w1#

使用googlesheets api获取数据,然后作为 Dataframe 读入数据。一旦有了dataframe,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

相关问题