如何从链接正确导入数据?pandas读取GitHub txt文件遇异常
解决GitHub文本数据导入的解析错误问题
问题根源是你用的是GitHub的网页展示链接,而非原始数据文件的直接链接。GitHub的blob页面是HTML格式,不是纯文本,pandas读取时会把网页代码当成数据解析,自然会出现字段数不匹配、行数异常的问题。
解决步骤:
- 替换为原始数据URL:在GitHub文件页面点击右上角的「Raw」按钮,获取纯文本格式的链接。你提供的链接对应的原始URL是:
https://github.com/DemeulemeesterT/GOSMI/raw/main/Benchmark%20instances%20arXiv%2003_01_2021/50%20agents%20-%2050%20objects/Data50_50_10_P.txt - 调整pandas读取参数:数据是空格分隔的矩阵,需指定分隔符为任意空白字符,同时保留跳过前4行注释的设置。
修改后的代码:
import xpress as xp import numpy as np import pandas as pd agents_assining = xp.problem() # 替换为原始数据链接 url_X = 'https://github.com/DemeulemeesterT/GOSMI/raw/main/Benchmark%20instances%20arXiv%2003_01_2021/50%20agents%20-%2050%20objects/Data50_50_10_P.txt' # 使用sep='\s+'匹配任意数量的空格/制表符,适配矩阵数据格式 X = pd.read_csv(url_X, index_col=None, skiprows=4, header=None, sep='\s+') # 验证行数:输出应为50 print(X.shape[0])
关键说明:
sep='\s+':匹配任意数量的空格或制表符,完美适配矩阵数据的分隔格式- 原始链接确保pandas读取的是纯文本数据,而非GitHub的网页HTML代码
- 无需设置
error_bad_lines=False,因为原始数据是规范的50×50矩阵
内容的提问来源于stack exchange,提问作者Davide Trono
相关产品推荐
相关产品推荐

