【问题标题】:Pandas exporting and importing different dictionaries熊猫导出和导入不同的字典
【发布时间】:2020-05-22 14:26:43
【问题描述】:

我有两个函数用于从 csv 导出和导入字典,因为我有许多不同类型的字典。

def export_dict(dict, filename):
    df = pd.DataFrame.from_dict(dict, orient="index")
    df.to_csv(CSV_PATH + filename)


def import_dict(filename):
    df = pd.read_csv(filename, header = None, keep_default_na=False)
    d = df.to_dict('split')
    d = dict(d["data"])
    return d

字典看起来像这样:

d1 = {'123456': 8, '654321': 90, '123654': 157483}
d2 = {'ouwejfw': [4], 'uwlfhsn0': [3, 1, 89], 'afwefwe': [3, 4], 'a3rz0dsd': []}

所以基本上第一种情况是一个简单的情况,其中一个字符串是一个键(但它可能是一个 int),一个数字是值。 第二种情况是字符串是键,不同大小的值列表是值。 第一个,我可以毫无问题地写作和阅读。但第二个打破了一切,因为不同大小的列表。我不能缩短它们,也不能通过添加列来占用太多空间,因为我有数以百万计的数据。

有人可以帮助我,我该怎么做才能正确读/写两个字典? 谢谢!

【问题讨论】:

    标签: pandas dictionary export-to-csv


    【解决方案1】:

    在数据框中存储时,您可以将字典值视为单个项目

    import pandas as pd
    
    def export_dict(dict, filename):
        df = pd.DataFrame()
        df["keys"] = d2.keys()
        df["values"] = d2.values()
        df.to_csv(CSV_PATH + filename)
    
    d2 = {'ouwejfw': [4], 'uwlfhsn0': [3, 1, 89], 'afwefwe': [3, 4], 'a3rz0dsd': []}
    export_dict(d2, "your_filename.csv")
    

    【讨论】:

    • 完美。简单,我想要的 :) 谢谢!
    猜你喜欢
    • 2021-04-26
    • 2018-12-27
    • 2020-09-25
    • 2021-08-29
    • 2023-04-01
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多