Python读取GitHub远程CSV文件报错的排查与解决请求
解决Pandas读取GitHub CSV文件的两类错误
一、SyntaxError:语句未换行引发的语法错误
初始代码将多条Python语句挤在同一行,Python语法要求每条语句单独占一行(除非用分号分隔,不推荐),这直接触发了语法解析失败。
错误代码核心问题:
# 错误:多条语句合并在一行,Python无法识别 dataset = pd.read_csv('https://raw.githubusercontent.com/mk- gurucharan/Classification/master /SocialNetworkAds.csv')X = dataset.iloc[:, [0, 1]].values y = dataset.iloc[:, 2].valuesdataset.head(5)
修正后的正确语法:
你已经完成了这一步,将每条语句单独换行后,语法问题即可解决:
import numpy as np import matplotlib.pyplot as plt import pandas as pd dataset = pd.read_csv('https://raw.githubusercontent.com/mk-gurucharan/Classification/master/SocialNetworkAds.csv') X = dataset.iloc[:, [0, 1]].values y = dataset.iloc[:, 2].values print(dataset)
二、连接超时(TimeoutError)的解决方案
语法修正后出现的超时问题,本质是网络无法正常访问GitHub的raw文件链接,与代码逻辑无关。可通过以下方法解决:
手动下载文件到本地读取
- 用浏览器打开该CSV链接,将文件下载到本地项目目录
- 修改代码中的路径为本地文件路径,示例:
dataset = pd.read_csv('./SocialNetworkAds.csv') # 假设文件与脚本同目录借助requests库先获取内容再传给Pandas
先安装requests(未安装则执行:pip install requests),再用以下代码:import requests import pandas as pd from io import StringIO url = 'https://raw.githubusercontent.com/mk-gurucharan/Classification/master/SocialNetworkAds.csv' try: response = requests.get(url, timeout=10) response.raise_for_status() # 校验请求是否成功 dataset = pd.read_csv(StringIO(response.text)) print(dataset.head()) except requests.exceptions.RequestException as e: print(f"请求失败:{e}")排查网络环境
确认当前网络可正常访问GitHub,必要时切换网络(如手机热点),或调整系统代理设置。
内容的提问来源于stack exchange,提问作者askit
相关产品推荐
相关产品推荐

