我正在尝试从另一个路径导入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对象。我怎么能把字典里的值作为字符串呢
显然,您使用的是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
字符串类型的代码出现问题相关问题 更多 >
编程相关推荐