You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何给JSON格式化输出每行添加分支编号与行号?

解决方案

可以按以下步骤实现需求,通过循环遍历DataFrame的每一行,处理JSON格式的PROFILE列后给每行添加指定前缀:

  1. 遍历DataFrame的每条记录,取出BRANCH值和PROFILE列的JSON字符串。
  2. 将PROFILE解析为字典后,用json.dumps生成带缩进的多行格式化字符串。
  3. 把格式化后的字符串按行拆分,给每一行加上对应的BRANCH值和从1开始计数的行号。
  4. 将处理后的每一行写入输出文件。

示例代码

import pandas as pd
import json

# 替换为你实际读取SQL结果的代码
# df = pd.read_sql(your_sql_query, your_db_connection)

with open("output.txt", "w", encoding="utf-8") as output_file:
    # 遍历DataFrame每一行数据
    for _, row in df.iterrows():
        branch = str(row["BRANCH"])
        # 解析PROFILE列的JSON字符串为字典
        profile_data = json.loads(row["PROFILE"])
        # 生成带2空格缩进的多行JSON内容
        formatted_profile = json.dumps(profile_data, indent=2)
        # 拆分JSON为单行列表
        profile_lines = formatted_profile.splitlines()
        # 逐行添加前缀并写入文件
        for line_idx, line_content in enumerate(profile_lines, start=1):
            output_file.write(f"{branch} {line_idx} {line_content}\n")

代码说明

  • json.dumps(..., indent=2):生成带缩进的格式化JSON,确保每个层级自动换行,方便后续拆分处理。
  • splitlines():将多行JSON字符串拆分为单个行的列表,实现逐行添加前缀的操作。
  • enumerate(..., start=1):让行号从1开始计数,完全匹配你给出的示例格式。

内容的提问来源于stack exchange,提问作者sboxtops

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 17:35:16