Возврат нескольких фреймов данных из функции «слишком много значений для распаковки» - PullRequest
0 голосов
/ 18 марта 2019

Я пытаюсь вызвать функцию и вернуть ей 3 отдельных фрейма данных.У меня есть 2 сценария - сценарий драйвера и основной сценарий.

В моем сценарии драйвера у меня есть что-то следующее:

 import pandas as pd
 finalA = pd.DataFrame()
 finalB = pd.DataFrame()
 finalC = pd.DataFrame()
 for week in allWeeks:
    date_start = week[0].strftime('%Y-%m-%d')
    date_end = week[1].strftime('%Y-%m-%d')
    try:
        a, b, c = function(start_date, end_date)
        finalA = finalA.append(a)
        finalB = finalB.append(b)
        finalC = finalC.append(c)`
    except Exception as e:
        _m = traceback.format_exc()
        logger.error(_m)

, где a, b, c - фреймы данных

тогда в моем основном скрипте у меня есть что-то следующее:

 def function(start_date, end_date):
    a = ...(constructing df)
    b = ...(constructing df)
    c = ...(constructing df)
    return a, b, c

однако, я продолжаю получать это всякий раз, когда я запускаю цикл в моем скрипте драйвера: "Файл" ", строка 118, в, b, c = function (date_start, date_end) ValueError: слишком много значений для распаковки (ожидается 3) "

Следует также отметить, что все использовалось для успешной работы, когда я возвращал только один кадр данных, поэтому это неошибки даты или что-нибудь в этом роде.он проходит через несколько недель и каждый раз вызывает функцию, а затем добавляет результаты в больший массив данных

...