Python 错误:"TypeError: string indices must be integers"



我在这里尝试解析来自 sql 表的 JSON 字符串,但在解析它时在第 result = json_normalize(json_st,'results') 行给出错误TypeError: string indices must be integers

这是代码片段

from pandas.io.json import json_normalize
import pyodbc
cnxn = pyodbc.connect('connection string')
cursor = cnxn.cursor()
cursor.execute("select TOP 1 GEOCODE_ID, JSON from GEOCODE_TBL where GEOCODE_ID = 20")
ID=[]
JSON=[]
for row in cursor.fetchall():
      ID.append(row[0])
      JSON.append(row[1])

json_st1 = json.dumps(JSON)
json_st=json.loads(json_st1)
result = json_normalize(json_st,'results')

对此的任何建议都将有所帮助。

谢谢

多姆尼克。

查看函数签名,它需要一个数据变量和一些可选的参数。

pandas.io.json.json_normalize(data, record_path=None, meta=None, 
meta_prefix=None, record_prefix=None, errors='raise', sep='.')

data : dict or list of dicts的地方.因此,不能将其作为字符串传递。另外,你为什么要传递字符串'results'

你的数据变量需要是一个字典,或者字典列表(即python中的json)

相关内容

  • 没有找到相关文章

最新更新