【发布时间】: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
【问题讨论】:
-
调用
str()就可以了,或者用.to_json()代替.to_dict()