在Python中扩展项级别的嵌套类列表

2024-10-08 22:25:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我想设置一个包含“多个数据帧”的更新pickle文件

因此,我有一个列表db_container,它由其他列表(“数据帧类别”:alert1, alert2, alert3)组成,这些列表包括实际的数据帧(例如alert1有n个不同的数据帧,但它们的列名始终相同)

现在,我有一个问题要用来自db_container的新数据扩展我的初始db

我的问题是在数据帧级别扩展db

在我运行代码之后db有6个项目,而不是初始的3个项目(alert1、alert2、alert3)

dbdb_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'))

谢谢


Tags: 数据path项目列表dbbasecontainerexists
1条回答
网友
1楼 · 发布于 2024-10-08 22:25:05

我用db_container = [1, 2, 3]运行了您的代码,在第二次运行时,发现db与我预期的一样[1, 2, 3, [1, 2, 3]]。该列表没有6项:它有4项,最后一项是包含三项的列表。如果您打算将列表添加到一起,那么应该使用db += db_container而不是使用append,因为append需要一个项目

相关问题 更多 >

    热门问题