Объединить значение переменной в нестроковую строку кода - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть следующая функция:

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

Как я могу параметризовать 'sheet1', чтобы любое число могло заменить 1?Тот факт, что это не строка или нет в скобках, действительно ставит меня в тупик.

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Это gspread?Разве вы не можете использовать get_worksheet как показано здесь ?

gc.open(sheet_name).get_worksheet(0).get_all_records()
0 голосов
/ 26 ноября 2018

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', ..и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...