首页 > 解决方案 > 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'),但它的数据类型是“生成器”,而不是字典。

标签: pythondataframedictionaryarff

解决方案


推荐阅读