【问题标题】:CSV to dictionary having headers as keys and the rest of rows as lists of strings (values) in PythonCSV到字典,标题作为键,其余行作为Python中的字符串(值)列表
【发布时间】:2021-01-20 01:10:27
【问题描述】:

我有一个这样的 CSV:

(row 0)    key1   key2   key3
(row 1)    A      D      G
(row 2)    B      E      H
(row 3)    C             I

我想阅读它并将信息放入字典中,如下所示:dict = {key1: ["A", "B", "C"], key2: ["D", "E"], key3: ["G", "H", "I"]}

所以基本上我希望将第一行作为键,将每列的所有值作为列表的值(列表是字典中键的值)。

谢谢!

【问题讨论】:

    标签: python pandas csv dictionary


    【解决方案1】:

    您可以 stackgroupby 将值聚合到 list,然后使用 .to_dict() 转到字典:

    df = pd.read_csv("my_csv.csv")
    df.stack().groupby(level=1).agg(list).to_dict()
    # {'key1': ['A', 'B', 'C'], 'key2': ['D', 'E'], 'key3': ['G', 'H', 'I']}
    

    【讨论】:

    • 有问题,Ikey3 中,不在key2
    • 是的,这只是我阅读字符串的方式@oreopot 谢谢
    猜你喜欢
    • 2015-01-08
    • 2013-03-04
    • 2017-09-02
    • 2020-10-29
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多