将数据帧的字典写入文件

问题描述 投票:1回答:1

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

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

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

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

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

感谢您的时间。

python pandas dictionary dataframe writetofile
1个回答
1
投票

关于独立保存数据帧而不使用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()
© www.soinside.com 2019 - 2024. All rights reserved.