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

如何将URL获取的JSON字符串转换为Python DataFrame并导入Oracle

把JSON格式字符串转成Pandas DataFrame的方案

你拿到的这个字符串是标准JSON数组格式,完全没必要手动循环拆分,用Python的json模块或者Pandas自带的方法就能直接转成DataFrame,比手动处理靠谱多了:

方法一:直接用Pandas读取JSON字符串

import pandas as pd

# 假设你的原始数据字符串是data_str
data_str = '[{"date_of_fix ":"9\/4\/2023","fix_description":"Broken report links\r","issue_no ":"1788"},{"date_of_fix ":"8\/30\/2023","fix_description":"Icon on password fields","issue_no ":"1769"},{"date_of_fix ":"8\/21\/2023","fix_description":"Add Tracking to Quote Page\r","issue_no ":"1744"}]'

# 直接转成DataFrame
df = pd.read_json(data_str)

# 清理列名里的多余空格(比如"date_of_fix "后面的空格)
df.columns = df.columns.str.strip()

# 查看结果
print(df)

方法二:先解析JSON再转DataFrame

如果需要先对数据做额外处理,可以先用json模块解析成Python列表,再转DataFrame:

import pandas as pd
import json

data_str = '[{"date_of_fix ":"9\/4\/2023","fix_description":"Broken report links\r","issue_no ":"1788"},{"date_of_fix ":"8\/30\/2023","fix_description":"Icon on password fields","issue_no ":"1769"},{"date_of_fix ":"8\/21\/2023","fix_description":"Add Tracking to Quote Page\r","issue_no ":"1744"}]'

# 解析JSON字符串为Python字典列表
parsed_data = json.loads(data_str)

# 转成DataFrame
df = pd.DataFrame(parsed_data)

# 清理列名空格
df.columns = df.columns.str.strip()

(不推荐)手动循环拆分的方式

如果一定要手动处理(不建议,容易因为特殊字符出错),可以这么做:

import pandas as pd

data_str = '[{"date_of_fix ":"9\/4\/2023","fix_description":"Broken report links\r","issue_no ":"1788"},{"date_of_fix ":"8\/30\/2023","fix_description":"Icon on password fields","issue_no ":"1769"},{"date_of_fix ":"8\/21\/2023","fix_description":"Add Tracking to Quote Page\r","issue_no ":"1744"}]'

# 去掉首尾的[]
clean_str = data_str.strip('[]')
# 拆分每个对象
items = clean_str.split('},{')

result = []
for item in items:
    # 给每个对象补回前后的{}(拆分后丢了)
    item = '{' + item + '}'
    # 拆分键值对,这里要注意如果值里有逗号会出错,所以这方法局限性大
    pairs = item.strip('{}').split(',')
    row_dict = {}
    for pair in pairs:
        key, value = pair.split(':', 1)
        # 清理键和值的引号、空格
        key = key.strip().strip('"')
        value = value.strip().strip('"').replace('\r', '')
        row_dict[key.strip()] = value
    result.append(row_dict)

df = pd.DataFrame(result)

转成DataFrame后,你就可以用pandas.io.sql里的to_sql方法直接插入Oracle数据库了,记得先配置好数据库连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 09:40:40