熊猫中的文件路径错误
Posted
技术标签:
【中文标题】熊猫中的文件路径错误【英文标题】:Wrong filepath in pandas 【发布时间】:2020-05-17 07:55:17 【问题描述】:我尝试从我的文件夹中获取所有 csv 文件。
我是这样做的:
currentfile = glob.glob("pathwheremycsvare')
所以在变量 currentfile
中现在有一个 csv 文件的所有路径名的列表。 (目前只有一个文件供测试。)
现在我尝试把它放到pandas.read_csv
函数中:
readcsv=pd.read_csv(currentfile)
但我得到了这个例外:
ValueError: Invalid file path or buffer object type: <class 'set'>
我该如何解决这个问题?
编辑:
试过了:path = r"pathname\*.csv"
for fname in glob.glob(path):
print(fname)
它会打印出所有带有路径的 csv 文件。
现在我需要一个 foo 循环,它使用每个 csv 执行程序的其余部分。
我将尝试使用 for 循环...
【问题讨论】:
从错误信息来看,我预计type(currentfile)
会返回set
。如果是这样,您需要从currentfile
中提取每个路径的字符串值。最简单的可能就是迭代currentfile
。
你想要一个包含所有文件信息的DataFrame,还是单独的DataFrame,每个文件一个?
打印当前文件的样子。您需要做的是遍历每一个并读取单个 csv,并根据您的问题将它们全部附加到一个包含所有数据的海量数据框中。
假设您想将所有 csv 文件合并到一个数据帧中并且它们都具有相似的结构,请尝试以下操作:pd.concat([pd.read_csv(current_file) for current_file in os.listdir('pathwheremycsvare')])
【参考方案1】:
正如您所提到的,currentfile
是 csv 文件的所有路径名的列表。
而pd.read_csv
使用文件名读取文件。不是文件名列表。
喜欢,pd.read_csv('filename.csv')
或者你可以遍历currentfile
喜欢
for file in currentfile:
pd.read_csv(file)
希望有帮助!
【讨论】:
以上是关于熊猫中的文件路径错误的主要内容,如果未能解决你的问题,请参考以下文章