将变量值连接到非字符串代码行中

时间:2018-11-26 16:20:06

标签: python parameters

我具有以下功能:

def source_sheets(sheet_name)
    gc.open(sheet_name).sheet1.get_all_records()

如何参数化“ sheet1”,以便任何数字都可以代替1?它不是字符串还是不在括号内,这一事实真的让我很沮丧。

2 个答案:

答案 0 :(得分:1)

IIUC,使用getattr

def source_sheets(sheet_name, sheet_num)
    sheet = getattr(gc.open(sheet_name), 'sheet{}'.format(sheet_num))
    records = sheet.get_all_records()
    # do something with records, for example return it

或可能

def source_sheets(sheet_name, subsheet)
    sheet = getattr(gc.open(sheet_name), subsheet)
    records = sheet.get_all_records()
    # do something with records, for example return it

如果子工作表可以使用'sheet1''sheet2',...等以外的其他名称。

答案 1 :(得分:1)

这是gspread吗?您不能使用here所示的get_worksheet吗?

gc.open(sheet_name).get_worksheet(0).get_all_records()