使用python字典从不同路径导入csv

2024-10-02 18:15:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从另一个路径导入CSV,该路径使用字典指示指定的路径

import csv
import os
import pandas as pd

PATH = Path("../../Toxic-comment-classification")
PATH.mkdir(exist_ok=True)

args = {
    "data_dir": PATH,
}

class MultiLabelTextProcessor(DataProcessor):

    def __init__(self, data_dir):
        self.data_dir = data_dir
        self.labels = None


    def get_train_examples(self, data_dir, size=-1):
        filename = 'train.csv'
        data_df = pd.read_csv(os.path.join(data_dir, filename))
        return(data_df)

a = MultiLabelTextProcessor(args.values())
print(a.get_train_examples(a.data_dir))

但是,在尝试运行时出现以下错误:

TypeError: expected str, bytes or os.PathLike object, not dict_values

我知道args.values()给了我一个dict\u对象。我怎么能把字典里的值作为字符串呢


Tags: csvpathimportself路径data字典os
1条回答
网友
1楼 · 发布于 2024-10-02 18:15:49

显然,您使用的是python3。args.values()没有给您一个dict对象,而是一个dict_values,python2中的等价物是一个列表。但是,在您的例子中,list/dict\u值只有一个项,即args.values() == [PATH](排序)

我打赌你希望args是一个只有一个条目的dict,所以你想提取PATH内容。你只需在上面做list(args.values())[0]。或者,在我看来,更好的方法就是使用args['data_dir']

os.path.join(data_dir, filename)具有data_dir列表或dict\u值类型和filename字符串类型的代码出现问题

相关问题 更多 >