【发布时间】:2019-08-02 04:40:14
【问题描述】:
我一直在处理简单的字典,我知道可以保存/加载它们的唯一方法是通过pandas 中的to_csv() 和pd.read_csv()。因为csv 是我知道可以完成工作的唯一方法,所以有时我可能会遇到字典,其键可能与无法在csv 中正确保存/加载的复杂内容相关联,这就是我寻求帮助的原因这里。
这是我刚刚想出的一个稍微复杂的字典的例子:
import numpy as np
import pandas as pd
simple_dict1 = {'dict1': {'item1': None,
'item2': False,
'item3': 'hello world',
'item4': 42.42,
'item5': [f'item {i}' for i in range(42)],
'item6': {f'itme {i}': i for i in range(42)},
'item7': np.random.rand(3,42),
'item8': pd.DataFrame(np.random.rand(3,42), columns = [f'col {i+1}' for i in range(42)])
},
'dict2': {'item1': True,
'item2': 'hello',
'item3': 24.24,
'item4': [f'item {i}' for i in range(24)],
'item5': {f'itme {i}': i for i in range(24)},
'item6': np.random.rand(2,24),
'item7': pd.DataFrame(np.random.rand(2,24), columns = [f'col {i+1}' for i in range(24)])
},
'dict3': {'item1': (10,20),
'item2': [],
'item3': {},
'item4': (),
'item5': {i for i in range(4)},
'item6': {f'itme {i}': {} for i in range(24)},
},
'list1': [type(item) for item in ({}, [], ())]
}
我的目标是创建两个函数:
功能1:将相对/绝对路径和字典作为输入,并将所述字典保存到所述路径中。
函数2:将相对/绝对路径作为输入,从所述路径读取字典,并返回所述字典。此字典需要与保存的原始字典相同。
这个问题可能问得太多了,但我真的没有深入了解如何保存/加载像上面那样的复杂字典。 先感谢您。
编辑:将其中一个标签更改为 pickle,因为 pickle 可能能够解决问题。
【问题讨论】:
-
不是重复的,但这可以回答您的问题。 stackoverflow.com/questions/11218477/…
标签: python file dictionary save pickle