通过变量调用 GoogleSheet Range

Calling a GoogleSheet Range through a variable

我正在尝试通过将由用户编写的变量进行范围调用,但我总是遇到无法解析的错误,但我知道这是一个真正的选项卡

def on_commencer(self,event):
Range = ('RANGE_'+self.NumSerie.GetValue())
data = pull_sheet_data(SCOPES,RECETTES_SHEET_ID,Range)#RANGE_REC100
df = pd.DataFrame(data[1:], columns=data[0])
print(df)

这与我的另一部分相得益彰

def pull_sheet_data(SCOPES,SPREADSHEET_ID,DATA_TO_PULL):
#creds = gsheet_api_check(SCOPES)
service = build('sheets', 'v4', credentials=creds)
sheet = service.spreadsheets()
result = sheet.values().get(spreadsheetId=SPREADSHEET_ID, range=DATA_TO_PULL).execute()
values = result.get('values', [])

if not values:
    print('No data found.')
else:
    rows = sheet.values().get(spreadsheetId=SPREADSHEET_ID, range=DATA_TO_PULL).execute()           
    data = rows.get('values')
    print("COMPLETE: Data copied")
    return data

如果我写 RANGE_REC100 而不是 Range,它就可以工作,但如果在我的应用程序中我写 REC100 就不行,它给我全名 RANGE_REC100

我发现我试图通过字符串调用常量,但我需要的是为那些遇到类似问题的人构建字典我的新代码是

def on_commencer(self,event):
    Range = ('RANGE_'+self.NumSerie.GetValue())
    Tankask = TankRange[Range]
    data = pull_sheet_data(SCOPES,RECETTES_SHEET_ID,Tankask)#RANGE_REC100
    df = pd.DataFrame(data[1:], columns=data[0])
    print(df)

我的常数是这样的列表

RANGE_REC100P = 'REC100'
RANGE_CB100 = 'REC100!A2:C4'
RANGE_REC100_DW = 'REC100!A10:C30'

现在看起来像这样

TankRange = {
'RANGE_REC100P'               : ('REC100'),
'RANGE_CB100'                 : ('REC100!A2:C4'),
'RANGE_REC100_DW'             : ('REC100!A10:C30')}