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

如何用Pandas读取XML文件?运行代码触发TypeError错误求助

解决TypeError: cannot parse from 'Response'问题

错误原因

objectify.parse() 不接受requests返回的Response对象作为参数,它需要类文件对象、本地文件路径或XML内容流。直接传入Response对象会触发类型错误。

修复方案

方式1:用BytesIO包装响应二进制内容

import requests
from lxml import objectify
from io import BytesIO

url = "https://www.un.org/securitycouncil/sites/www.un.org.securitycouncil/files/consolidated.xml"
response = requests.get(url)
# 将响应二进制内容转为类文件对象
parsed = objectify.parse(BytesIO(response.content))

方式2:直接解析响应文本(注意编码)

import requests
from lxml import objectify

url = "https://www.un.org/securitycouncil/sites/www.un.org.securitycouncil/files/consolidated.xml"
response = requests.get(url)
# 转成字节流后解析,避免编码问题
parsed = objectify.fromstring(response.text.encode(response.encoding))

额外建议

  • 请求后添加状态码校验,确保请求成功:
    response = requests.get(url)
    response.raise_for_status()  # 请求失败时直接抛出异常
    
  • 处理大XML文件时,方式1的流式处理更节省内存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 04:00:12