【问题标题】:Convert to JSON without index values using pandas column orient使用 pandas column orient 转换为没有索引值的 JSON
【发布时间】:2021-08-26 20:32:12
【问题描述】:

是否可以使用任何 Python 库函数将 json 写入没有索引值和嵌套的文件,例如pandas.DataFrame.to_json?我的数据框永远只有一行,解析它的系统无法处理索引值,并要求结构采用这种特定方式。

我想要达到的目标:

{"A":"D","B":"F","C":"G"}

代码示例:

import pandas as pd
data = [["D", "F", "G"]]

df = pd.DataFrame(data, columns = ["A", "B", "C"])
result = df.to_json(orient="columns")

with open("test.txt", "w") as f:
    f.write(result)

到目前为止尝试过:

df.to_json(orient="columns")
# {"A":{"0":"D"},"B":{"0":"F"},"C":{"0":"G"}}

df.to_json(orient="records")
# [{"A":"D","B":"F","C":"G"}]

df.to_json(orient="split")
# {"columns":["A","B","C"],"index":[0],"data":[["D","F","G"]]}

虽然我想要的看起来像 Python 字典,但我仍然想知道如何写入文件,并编写字典 {"A":"D","B":"F","C": "G"} 到文件抛出

TypeError: write() argument must be str, not dict

【问题讨论】:

标签: python json pandas


【解决方案1】:

IIUC,因为你只有一行:

>>> df.iloc[0].to_json()
'{"A":"D","B":"F","C":"G"}'

写入文件:

with open("test.txt", "w") as f:
    f.write(df.iloc[0].to_json())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-11
    • 2023-02-07
    • 2019-05-04
    • 1970-01-01
    • 2018-10-05
    • 2021-06-29
    • 1970-01-01
    相关资源
    最近更新 更多