python - Python - 从互联网获取 .arff 文件作为字典类型
问题描述
我最初有下面的两部分代码,我从本地计算机获得了我的 .arff 文件,并且代码工作正常:
第1部分:
#Upload my_dataset.arff from local computer
from google.colab import files
uploaded = files.upload()
第2部分:
import pandas as pd
from scipy.io import arff
import numpy as np
data_file="my_dataset.arff"
data=arff.loadarff(data_file)
df=pd.DataFrame(data[0])
for col in df.columns:
if df[col].dtype=='object':
df[col] = df[col].str.decode('utf-8')
现在我将文件上传到互联网上,我需要使用原始互联网链接。我能找到的最接近 files.upload() 函数的是 pd.read_csv() (我知道它适用于 csv 文件,但它也读取 arff 文件)。
新的第 1 部分:
#retrieve my_dataset.arff from the internet link:
import pandas as pd
uploaded = pd.read_csv(filepath_or_buffer ='https://raw.githubusercontent.com/.../my_dataset.arff', sep = ';')
我现在遇到的问题是代码的第 2 部分不适用于“新的第 1 部分”并且它给出了错误:
FileNotFoundError:[Errno 2] 没有这样的文件或目录:'my_dataset.arff'
我注意到如果我使用 type() 函数,原始部分 1,返回对象“上传”,它是一个字典。然而,新的第 1 部分返回对象“已上传”,即 pandas.core.frame.DataFrame。
有没有办法从互联网链接检索我的 .arff 文件作为简单的“dict”类型,所以代码的第 2 部分仍然有效?
另外,我可以使用 arff.load('internet link'),但它的数据类型是“生成器”,而不是字典。
解决方案
推荐阅读
- python - ConfigParser pyodc 生成错误'无效 - 用户名 (12) (SQLDriverConnect)
- r - 在 Expss 中使用文本时,如何通过自定义表格显示显着差异?
- api - 如何在 Plupload API 中为文件名特殊字符验证添加过滤器?
- html - 为什么我的容器在 Chrome 以外的其他浏览器中比它的子容器宽?
- javascript - es6可以导入commonjs模块吗?
- azure - 能否将 Azure 逻辑应用变量输出到文件并存储在 Blob 存储中?
- vue.js - mdb 数据表在 Vue.js 中不呈现数据
- jenkins - 使用 Jenkins 管道仅执行选定的作业
- javascript - Chart.js 只是最后一点
- php - 如何重定向子文件夹中的所有请求