将数据帧的字典写入文件

时间:2018-06-10 17:26:04

标签: python pandas dictionary dataframe writetofile

我有一本字典,对于我字典中的每个键,我有一个pandas数据帧。从密钥到密钥的数据帧长度不等。

到达连接到每个键的数据帧需要一些时间,因此我希望将数据帧的字典保存到文件中,这样我就可以将文件读入Python而不是每次运行我的脚本打开Python。

我的问题是:您如何建议将带有数据帧的字典写入文件 - 并再次阅读?我试过以下,其中dictex是字典:

w = csv.writer(open("output.csv", "w"))
for key, val in dictex.items():
    w.writerow([key, val])

但是我不确定我是否得到了我想要的东西,因为我很难再次将文件读入Python。

感谢您的时间。

1 个答案:

答案 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()