Расширение вложенных списков классов на уровне элементов в Python - PullRequest
0 голосов
/ 13 июня 2019

Я хочу установить обновляющий файл pickle, содержащий «несколько фреймов данных»

Поэтому у меня есть список db_container, который состоит из других списков («категория данных»: alert1, alert2, alert3), и они включают фактические кадры данных (например, alert1 имеет n разных кадров данных, но они всегда имеют один и тот же столбец имена)

Теперь у меня проблема с расширением моего начального db новыми данными из db_container

Моя проблема заключается в расширении db на уровне данных.

После запуска моего кода db содержит 6 элементов вместо начальных 3 (alert1, alert2, alert3).

db и db_container должны всегда иметь начальные 3 «категории данных».

Есть предложения?

def pickle_me():

    # Bind Lists of DataFrames into one Object
    db_container = [alert1, alert2, alert3]

    # if a db/pickle already exists then open old one and append with new input
    if os.path.exists(base_path+pickle_db):
       with open(base_path+pickle_db,'rb') as rfp:
          db = pickle.load(rfp)

          db.append(db_container) #-> After this code section db has 6 lists


    pickle.dump(db, open(base_path + pickle_db, 'wb'))

# If no db exists then create one.
else:
    pickle.dump(db_container, open(base_path + pickle_db, 'wb'))

Спасибо.

1 Ответ

1 голос
/ 13 июня 2019

Я запустил ваш код с db_container = [1, 2, 3] и на втором проходе заметил, что db - это [1, 2, 3, [1, 2, 3]], как я и ожидал.В списке нет 6 элементов: в нем 4 элемента, последний из которых представляет собой список из трех элементов.Если вы намеревались добавить списки вместе, вы должны использовать db += db_container вместо добавления, которое предполагает получение одного элемента.

...