Запись словаря данных в файл - PullRequest
0 голосов
/ 10 июня 2018

У меня есть словарь, и для каждого ключа в моем словаре у меня есть один кадр данных для панд.Фреймы данных от ключа к ключу имеют неодинаковую длину.

Требуется некоторое время, чтобы добраться до фреймов данных, которые связаны с каждым ключом, и поэтому я хочу сохранить свой словарь фреймов данных в файл, поэтому я могупросто читайте файл в Python вместо того, чтобы запускать мой скрипт каждый раз, когда я открываю Python.

Мой вопрос: как бы вы предложили записать словарь с фреймами данных в файл - и снова прочитать его?Я пробовал следующее, где dictex - это словарь:

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

Но я не совсем уверен, получаю ли я то, что хочу, так как я изо всех сил пытаюсь снова прочитать файл в Python.

Спасибо за ваше время.

1 Ответ

0 голосов
/ 10 июня 2018

Относительно правила сохранения фреймов данных независимо и без использования решения 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...