use*_*653 26 json dataframe pandas
我有一个DataFrame带有两列的Pandas - 一个带有文件名,一个带有生成它的小时:
File Hour
F1 1
F1 2
F2 1
F3 1
Run Code Online (Sandbox Code Playgroud)
我试图将其转换为具有以下格式的JSON文件:
{"File":"F1","Hour":"1"}
{"File":"F1","Hour":"2"}
{"File":"F2","Hour":"1"}
{"File":"F3","Hour":"1"}
Run Code Online (Sandbox Code Playgroud)
当我使用该命令时DataFrame.to_json(orient = "records"),我得到以下格式的记录:
[{"File":"F1","Hour":"1"},
{"File":"F1","Hour":"2"},
{"File":"F2","Hour":"1"},
{"File":"F3","Hour":"1"}]
Run Code Online (Sandbox Code Playgroud)
我只是想知道是否有一个选项可以获得所需格式的JSON文件.任何帮助,将不胜感激.
Nic*_*eli 32
你得到的输出DF.to_json是a string.因此,您可以根据需要简单地对其进行切片并从中删除逗号.
out = df.to_json(orient='records')[1:-1].replace('},{', '} {')
Run Code Online (Sandbox Code Playgroud)
要将输出写入文本文件,您可以执行以下操作:
with open('file_name.txt', 'w') as f:
f.write(out)
Run Code Online (Sandbox Code Playgroud)
Bra*_*mon 18
在较新版本的pandas(0.20.0+,我相信)中,这可以直接完成:
df.to_json('temp.json', orient='records', lines=True)
Run Code Online (Sandbox Code Playgroud)
也可以直接压缩:
df.to_json('temp.json.gz', orient='records', lines=True, compression='gzip')
Run Code Online (Sandbox Code Playgroud)
小智 14
我认为OP正在寻找的是:
with open('temp.json', 'w') as f:
f.write(df.to_json(orient='records', lines=True))
Run Code Online (Sandbox Code Playgroud)
这应该可以解决问题.
cha*_*sno 13
试试这个:
json.dumps(json.loads(df.to_json(orient="records")))
Run Code Online (Sandbox Code Playgroud)
Ami*_*r.S 10
使用以下公式将 pandas DataFrame 转换为字典列表:
import json
json_list = json.loads(json.dumps(list(DataFrame.T.to_dict().values())))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63458 次 |
| 最近记录: |