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

Python报错string indices must be integers:JSON转DataFrame遇阻求助

解决JSON转DataFrame时"string indices must be integers"报错问题

问题描述

从PDF提取生成的JSON文件中提取字段创建CSV,能获取对应数值,但无法存入DataFrame,出现**"string indices must be integers"**报错,无法将JSON文本值追加到DataFrame内。

JSON结构说明:顶层是数组,每个元素包含documentResults数组;documentResults的元素中,fields字段下有VendorName、AccountNo、Address等子字段,每个子字段包含text属性存储目标值。

原代码

import json
import csv
import pandas as pd

with open("C:\\Test.Json", 'r') as file:
     jsonData = json.load(file)  

outputfile = "C:\\Test.csv"

df2 = pd.DataFrame(columns=['VendorName','AccountNo','Address']) 
        
for i in jsonData:          
    print("VendorName:", jsonData[i]['documentResults'][0]['fields']['VendorName']['text'])
    v1 = jsonData[i]['documentResults'][0]['fields']['VendorName']['text']
    df = pd.DataFrame([v1])
    df2 = pd.concat([df2, df], axis=0, ignore_index=True)
    print("V1: ", v1)
df2.to_csv(outputfile)

报错详情

报错位置:print("VendorName:", jsonData[i]['documentResults'][0]['fields']['VendorName']['text'])
报错信息:String indices must be integers

解决方案

错误原因

jsonData是**列表(数组)**而非字典,for i in jsonData遍历的是列表里的每个文档对象,不是索引或键。原代码用jsonData[i]试图以对象为索引访问列表,自然触发报错。此外,多次concat单个值的DataFrame会导致列名混乱,不符合预期。

修正后的代码

import json
import pandas as pd

with open("C:\\Test.Json", 'r') as file:
    jsonData = json.load(file)  

outputfile = "C:\\Test.csv"

# 用列表收集所有数据,避免频繁拼接DataFrame
data_list = []

for doc in jsonData:          
    # 按正确路径提取字段值
    vendor_name = doc['documentResults'][0]['fields']['VendorName']['text']
    account_no = doc['documentResults'][0]['fields']['AccountNo']['text']
    address = doc['documentResults'][0]['fields']['Address']['text']
    
    # 用字典对应DataFrame的列名,保证结构匹配
    data_list.append({
        'VendorName': vendor_name,
        'AccountNo': account_no,
        'Address': address
    })

# 直接从列表生成DataFrame,高效且结构准确
df = pd.DataFrame(data_list)
# 写入CSV时去掉默认索引
df.to_csv(outputfile, index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 07:32:39