我有一本字典,对于我字典中的每个键,我有一个pandas数据帧。从密钥到密钥的数据帧长度不等。
到达连接到每个键的数据帧需要一些时间,因此我希望将数据帧的字典保存到文件中,这样我就可以将文件读入Python而不是每次运行我的脚本打开Python。
我的问题是:您如何建议将带有数据帧的字典写入文件 - 并再次阅读?我试过以下,其中dictex是字典:
w = csv.writer(open("output.csv", "w"))
for key, val in dictex.items():
w.writerow([key, val])
但是我不确定我是否得到了我想要的东西,因为我很难再次将文件读入Python。
感谢您的时间。
答案 0 :(得分:0)
关于独立保存数据帧的规则而不使用SQL解决方案(或其他数据库格式),它可以是以下代码:
import csv
import pandas as pd
def saver(dictex):
for key, val in dictex.items():
val.to_csv("data_{}.csv".format(str(key)))
with open("keys.txt", "w") as f: #saving keys to file
f.write(str(list(dictex.keys()))
def loader():
"""Reading data from keys"""
with open("keys.txt", "r") as f:
keys = eval(f.read())
dictex = {}
for key in keys:
dictex[key] = pd.read_csv("data_{}.csv".format(str(key)))
return dictex
(...)
dictex = loader()