如何用Pandas输出每行一条记录且格式合法的JSON数组
Pandas导出每行单条记录的合法JSON数组方案
直接使用to_json的indent参数即可纯靠Pandas原生实现需求,无需额外做字符串拼接,性能远高于手动拆分拼接的方案,尤其适合大数据量场景。
示例代码
import pandas as pd data = [{'a': 1, 'b': 2}, {'a': 3, 'b': 4}] df = pd.DataFrame(data) # 输出带缩进的合法JSON数组 print(df.to_json(orient='records', indent=2))
输出结果
[ { "a": 1, "b": 2 }, { "a": 3, "b": 4 } ]
如果需要更紧凑的格式,调整indent参数即可,设置indent=1时会使用单空格缩进,整体结构依然是合法可读取的JSON数组。
如果需要对象内部不换行、仅单条记录占一行的紧凑格式,目前Pandas原生没有对应参数,这种场景下可以继续使用你提到的lines=True加少量拼接的方案,性能损耗也极低。
内容的提问来源于stack exchange,提问作者user1179317
相关产品推荐
相关产品推荐

