在Hackerrank中无法从URL加载DataFrame的问题求助
解决Hackerrank中无法从URL加载DataFrame的问题
第一步:修复代码中的变量名错误
你定义的变量是url,但调用pd.read_csv()时误用了url2,先修正这个笔误:
import pandas as pd import io import requests url = "https://hrcdn.net/restoflink.csv" df = pd.read_csv(url)
第二步:分析域名解析失败的错误
你遇到的socket.gaierror: [Errno -3] Temporary failure in name resolution错误,说明系统无法解析目标域名,可从以下方向排查:
- 确认URL完整性:你提供的URL存在截断(
restoflink.csv是占位符),检查题目给出的原始完整链接,确保路径、域名没有遗漏。 - 适配Hackerrank环境:部分Hackerrank题目的数据文件直接存放在执行环境的本地目录中,无需通过URL加载,尝试直接使用题目指定的CSV文件名:
df = pd.read_csv("实际文件名.csv") - 排查网络限制:Hackerrank的执行环境可能限制外部网络访问,若题目明确要求从URL加载,需确认该链接在平台环境内是否可达。
第三步:正确使用requests模块加载CSV
如果必须通过requests加载,使用以下标准实现并加入异常排查:
import pandas as pd import io import requests url = "https://hrcdn.net/restoflink.csv" try: response = requests.get(url) response.raise_for_status() # 触发HTTP错误 df = pd.read_csv(io.BytesIO(response.content)) except requests.exceptions.RequestException as e: print(f"加载失败原因: {e}")
这段代码会打印具体错误信息,比如404说明URL无效,连接超时说明网络不通,帮你快速定位问题。
内容的提问来源于stack exchange,提问作者Olly Gedney
相关产品推荐
相关产品推荐

