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

如何以逗号为分隔符拼接JSON中的数据库表列名键?

将JSON表结构中的列名转换为逗号分隔字符串

针对你提供的JSON数据库表结构,无需使用explode(该方法并不适配此场景),以下是几种简单的实现方式:

Python基础实现

先加载JSON数据,再遍历每个表提取列名并拼接:

import json

# 加载JSON文件
with open('你的文件.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

# 处理每个表
result = {}
for table_name, table_info in data['database'].items():
    # 获取列名并以逗号分隔
    columns = ', '.join(table_info['columns'].keys())
    result[table_name] = columns

# 输出结果
for table, cols in result.items():
    print(f"{table}: {cols}")

输出结果:

table_1: col_t1_1, col_t1_2, col_t1_3, col_t1_4, col_t1_5
table_2: col_t2_1, col_t2_2, col_t2_3, col_t2_4

Pandas实现(如需DataFrame格式)

如果你习惯用Pandas处理数据,可按以下方式操作:

import pandas as pd
import json

# 加载JSON数据
with open('你的文件.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

# 构造数据表的列表
table_list = []
for table_name, details in data['database'].items():
    table_list.append({
        '表名': table_name,
        '加载类型': details['load_type'],
        '列名': ', '.join(details['columns'].keys())
    })

# 转换为DataFrame
df = pd.DataFrame(table_list)
print(df)

输出DataFrame:

表名加载类型列名
table_1Deltacol_t1_1, col_t1_2, col_t1_3, col_t1_4, col_t1_5
table_2Deltacol_t2_1, col_t2_2, col_t2_3, col_t2_4

为什么explode不适合此场景

explode方法主要用于展开DataFrame中列表类型的列,而你的列信息是以字典形式存储(键为列名,值为类型),直接用explode无法实现列名拼接。提取字典的键并进行字符串拼接才是更直接的解决方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 02:23:17