python - 使用字典python从不同路径导入csv
问题描述
我正在尝试从不同的路径导入 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:预期的 str、字节或 os.PathLike 对象,而不是 dict_values
我了解 args.values() 给了我一个 dict_object。我怎样才能将我的字典中的值作为字符串?
解决方案
显然,您使用的是 Python 3.args.values()
并没有给您一个 dict 对象,而是一个dict_values
,它在 Python 2 中的等价物是一个列表。但是,在您的情况下, list/dict_values 只有一项,即args.values() == [PATH]
(某种)
我敢打赌,您希望这args
是一个只有一个条目的字典,因此您想提取该PATH
内容。你可以简单地做list(args.values())[0]
它。或者,我认为更好的方法是使用args['data_dir']
os.path.join(data_dir, filename)
使用data_dir
list 或 dict_values 类型和filename
string 类型会导致您的代码出现问题。
推荐阅读
- r - 如何以“graphpad prism”风格绘制三个不同组中随时间的变化?
- c++11 - 从可变参数模板继承时访问基类函数时出现不明确的访问错误
- ios - 如何为现有应用创建新应用?
- css - 如何在 CSS Grid 中的多行布局后* 拉伸列?
- database - 谁能建议我如何编写路径来存储我的存储过程在我的 oracle DB 中输出的输出文件?
- node.js - 解码 Base64 pdf 给出损坏的文件
- python - Networkx:具有平行边的网络
- apache-camel - Apache camel - 如何使用消息体使用 activemq 选择性消费者
- r - 计算与 R 的切线交点
- java - 如何使用 printf 打印不同变量的数组列表?