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

混合字典与字符串的列表转换为pandas DataFrame报错如何解决?

错误原因

你的列表appendlist中同时包含字典和字符串两类元素:

  • 正常地理编码返回结果是字典结构,pandas可以直接解析为DataFrame的行
  • 无查询结果时返回的是no data for: xxx格式的字符串,没有字典的keys属性,导致pandas构造DataFrame时解析失败。

解决方案

方案1:过滤无效条目,只保留有效地理编码结果

该方案适合仅需要有效地理编码结果做后续分析的场景,执行速度快。
先对列表做预处理,只筛选类型为字典的元素再传入DataFrame:

import pandas as pd

# 过滤仅保留字典类型的有效结果
valid_data = [item for item in appendlist if isinstance(item, dict)]
df = pd.DataFrame(valid_data)

如果需要单独留存无效查询记录,可以同步提取字符串条目:

invalid_queries = [item for item in appendlist if isinstance(item, str)]

方案2:保留所有条目,统一结构后生成DataFrame

该方案适合需要留存全量查询记录、便于后续回溯无效查询的场景。
先把所有元素标准化为字典格式再生成DataFrame:

import pandas as pd

processed_data = []
for item in appendlist:
    if isinstance(item, dict):
        processed_data.append(item)
    else:
        # 把无数据提示转为统一结构的字典,用自定义字段标识无效查询
        processed_data.append({
            "remark": item,
            "place_id": None,
            "licence": None,
            "osm_type": None,
            "osm_id": None,
            "boundingbox": None,
            "lat": None,
            "lon": None,
            "display_name": None,
            "class": None,
            "type": None,
            "importance": None
        })
df = pd.DataFrame(processed_data)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:51:02