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

如何将SQL查询输出字符串转为对象数组(兼容Python2/3)

解决方案

以下是兼容Python 2和Python 3的实现代码,能将SQL输出字符串转换为目标格式的对象数组:

import json

# 原始SQL输出字符串,用三引号处理多行内容
result = '''enable id 
=============
f   avc-qwqwq
t abd-rrtrtr
 f rec-yyuyu 
'''

# 1. 分割行并过滤空行和无意义的空内容
lines = [line.strip() for line in result.split('\n') if line.strip()]

# 2. 定义目标字段名(将原始的'id'映射为'org')
target_keys = ['enable', 'org']

# 3. 处理数据行(跳过列名行和分隔线行)
data_rows = lines[2:]

# 4. 生成目标对象数组
result_list = []
for row in data_rows:
    # 按任意空白符分割字段,同时去除每个字段的前后空白
    values = [val.strip() for val in row.split()]
    # 字段与目标键配对生成字典
    result_list.append(dict(zip(target_keys, values)))

# 输出格式化后的JSON(与目标格式一致)
print(json.dumps(result_list, indent=2))

代码说明

  • 行处理:用列表推导式过滤掉空行和前后空白,避免后续处理无效内容;
  • 字段映射:将原始SQL列名id映射为目标格式的org,匹配需求;
  • 数据分割:使用split()默认按任意空白符分割行内容,兼容不同数量的空格分隔;
  • 兼容版本:所有用到的strip()、split()、dict(zip())、json.dumps()方法在Python 2和3中行为一致,无需额外兼容处理。

输出结果

运行代码后会输出与目标完全一致的JSON格式:

[
  {
    "enable": "f",
    "org": "avc-qwqwq"
  },
  {
    "enable": "t",
    "org": "abd-rrtrtr"
  },
  {
    "enable": "f",
    "org": "rec-yyuyu"
  }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 13:42:48