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

使用Pandas读取含特殊字符URL的CSV时出现UnicodeEncodeError如何解决?

解决Pandas读取含非ASCII字符URL时的UnicodeEncodeError

问题根源在于URL中包含é这类非ASCII字符,直接传入pd.read_csv()时,底层HTTP请求工具无法正确处理该字符的编码,导致请求阶段抛出编码错误——这也是你之前更换文件编码、修改引擎无效的原因,因为问题出在URL请求环节,而非CSV文件内容的解码环节。

解决方案1:手动编码URL中的非ASCII字符

使用Python标准库urllib.parse.quote()对URL中的非ASCII部分进行百分号编码,将é转换为符合URL规范的%C3%A9:

import pandas as pd
from urllib.parse import quote

original_url = 'http://é.com'
# 对域名部分进行编码
encoded_url = 'http://' + quote('é.com')
# 正常读取CSV
df = pd.read_csv(encoded_url, encoding='utf-8')

解决方案2:借助requests库处理请求

requests库会自动处理URL的编码问题,先获取文件内容再传给Pandas读取:

import pandas as pd
import requests
from io import StringIO

url = 'http://é.com'
# 发送请求,requests自动处理URL编码
response = requests.get(url)
response.encoding = 'utf-8'  # 指定响应编码
# 将响应内容转为可读取的流对象
df = pd.read_csv(StringIO(response.text))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 05:01:06