【问题标题】:Dataframe or CSV to JSON object array数据框或 CSV 到 JSON 对象数组
【发布时间】:2022-01-02 08:10:58
【问题描述】:

这对于 python 专业人士来说可能是一件容易的事。所以,请原谅我的幼稚。

这是我的数据:

0  xyz@tim.com   13239169023       jane        bo
1  tim@tim.com   13239169023       lane        ko
2  jim@jim.com   13239169023       john        do

这是我得到的输出:

[{"email":"xyz@tim.com","phone_number":13239169023,"first_name":"jane","last_name":"bo"},{"email":"tim@tim.com","phone_number":13239169023,"first_name":"lane","last_name":"ko"},{"email":"jim@jim.com","phone_number":13239169023,"first_name":"john","last_name":"do"}]

我的代码:

    df = pd.read_csv('profiles.csv')
    print(df)
    data = df.to_json(orient="records")
    print(data)

我想要的输出:

{"profiles":[{"email":"xyz@tim.com","phone_number":13239169023,"first_name":"jane","last_name":"bo"},{"email":"tim@tim.com","phone_number":13239169023,"first_name":"lane","last_name":"ko"},{"email":"jim@jim.com","phone_number":13239169023,"first_name":"john","last_name":"do"}]}

在下面添加不起作用。

output = {"profiles": data}

它在数据和配置文件上添加单引号,而不是双引号(基本上不是有效的 JSON),就像这样:

{'profiles': '[{"email":"xyz@tim.com","phone_number":13239169023,"first_name":"jane","last_name":"bo"},{"email":"tim@tim.com","phone_number":13239169023,"first_name":"lane","last_name":"ko"},{"email":"jim@jim.com","phone_number":13239169023,"first_name":"john","last_name":"do"}]'}

【问题讨论】:

    标签: python json dataframe csv


    【解决方案1】:

    您可以使用df.to_dict 输出到字典而不是json 格式的字符串:

    import pandas as pd
    df = pd.read_csv('data.csv')
    data = df.to_dict(orient='records')
    output = {'profiles': data}
    print(output)
    

    返回:

    {'profiles': [{'0': 1, 'xyz@tim.com': 'tim@tim.com', '13239169023': 13239169023, 'jane': 'lane', 'bo': 'ko'}, {'0': 2, 'xyz@tim.com': 'jim@jim.com', '13239169023': 13239169023, 'jane': 'john', 'bo': 'do'}]}
    

    【讨论】:

      【解决方案2】:

      我想我找到了解决办法。

      变化:

      data = df.to_dict(orient="records")
      output = {}
      output["profiles"] = data
      

      【讨论】:

        猜你喜欢
        • 2014-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-11
        • 1970-01-01
        • 1970-01-01
        • 2015-01-22
        • 2014-01-09
        相关资源
        最近更新 更多