我想设置一个包含“多个数据帧”的更新pickle文件
因此,我有一个列表db_container
,它由其他列表(“数据帧类别”:alert1, alert2, alert3
)组成,这些列表包括实际的数据帧(例如alert1
有n个不同的数据帧,但它们的列名始终相同)
现在,我有一个问题要用来自db_container
的新数据扩展我的初始db
我的问题是在数据帧级别扩展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'))
谢谢
我用
db_container = [1, 2, 3]
运行了您的代码,在第二次运行时,发现db
与我预期的一样[1, 2, 3, [1, 2, 3]]
。该列表没有6项:它有4项,最后一项是包含三项的列表。如果您打算将列表添加到一起,那么应该使用db += db_container
而不是使用append,因为append需要一个项目相关问题 更多 >
编程相关推荐