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

将字典列表转Pandas DataFrame遇ValueError错误求助

解决JSON字符串转Pandas DataFrame的ValueError问题

问题根源

你当前的scrapped_data是JSON格式的字符串,而Pandas的DataFrame构造器、json_normalize等方法需要的是Python原生的字典/列表对象,直接传入字符串必然报错。

两种正确解决方案

方案1:直接用response.json()解析(推荐)

requests库的Response对象自带json()方法,可以直接把返回的JSON数据解析成Python的字典列表,无需手动处理字符串:

import requests
import pandas as pd

response = requests.get(url)
# 直接解析为Python列表(包含字典元素)
scrapped_data = response.json()
# 转换为DataFrame
df = pd.DataFrame(scrapped_data)

方案2:手动解析JSON字符串

如果因为某些原因必须使用response.text,可以用Python标准库json的loads()方法将字符串转为Python对象:

import requests
import pandas as pd
import json

response = requests.get(url)
scrapped_data = response.text
# 将JSON字符串转为Python列表
data_list = json.loads(scrapped_data)
# 转换为DataFrame
df = pd.DataFrame(data_list)

为什么之前的方法会报错

  • pd.DataFrame(scrapped_data):把字符串当成了字符序列,每个字符被当作一行数据,不符合DataFrame的构造要求,触发ValueError。
  • pd.DataFrame_from_dict(scrapped_data):该方法需要传入字典,而字符串不是字典类型,同样报错。
  • pd.json_normalize(scrapped_data):该方法要求输入是字典或字典列表,传入字符串会触发NotImplementedError。

执行上述正确方案后,你就能得到预期格式的DataFrame:

iddatevalue
12345612-12-202237
12345613-12-202238

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 19:21:06