首页 > 解决方案 > 如何直接从 URL 读取 .dat 文件并访问其中的列?

问题描述

我正在尝试从 URL 访问此文件:

https://data.princeton.edu/wws509/datasets/copen.dat

但是,我无法访问它并将其拆分以用于培训和测试目的。

有人对此有解决方案吗?

谢谢

我运行了以下代码,将数据转换为 html。现在我如何访问数据,例如。如果想要访问某些行和列,我该怎么做?

import urllib.request
weburl=urllib.request.urlopen('https://data.princeton.edu/wws509/datasets/cuse.dat')

print('result code:'+ str(weburl.getcode()))
data=weburl.read()
print(data)

标签: python

解决方案


为此,您需要在 python中安装requests模块。请求模块

正如@nekomatic 建议的那样,您可以通过此链接将列表转换为正确的格式,将列表列表转换为 pandas DataFrame

import requests

response = requests.get('https://data.princeton.edu/wws509/datasets/copen.dat')
data = response.text // you can use response.json() method in this line

print("data is ")
print(data)

// the url we mentioned given data in text/plain format so response.json() doesn't work

data_by_line = data.split('\n')
for i in range(0,len(data_by_line)):
   data_by_line[i] = ' '.join(data_by_line[i].split())
   data_by_line[i] = data_by_line[i].split(' ')

print(data_by_line[2][2]) // output will be "low". We have converted data to multidimensional list(data_by_line)

推荐阅读