在for循环中使用熊猫csv_read读取csv文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在for循环中使用熊猫csv_read读取csv文件相关的知识,希望对你有一定的参考价值。
我正在将Macbook与MAC OS X catalina和最新的anaconda安装一起使用。
我在很多文件所在的文件夹中有要读取的文件列表。文件列表包含在excel表格中,格式如下。
此文件称为list.xlsx
csv文件的目录和子目录位于文件夹中,如下"/Users/XXX/Documents/test/data"
目录中还有许多我不想使用的文件,因此我想循环浏览此list.xlsx我拥有的文件。
[当我执行df = pd.csv_read("/Users/XXX/Documents/test/data/A/ABCS.csv")
时,文件读取完全正常。这是我列表中的第一个文件。
但是,当我以这种方式加载文件时,可以执行for循环,
filelist = pd.read_excel("/Users/XXX/Documents/test/list.xlsx")
df = pd.csv_read(f"/Users/XXX/Documents/test/data/{filelist.File[0]}")
我得到了'FileNotFoundError: [Error 2] File /Users/XXX/Documents/test/data/A/ABCS.csv does not exist:/Users/XXX/Documents/test/data/A/ABCS.csv'
即使它显示了我上面使用的确切位置。为什么会发生这种情况,我该如何解决?似乎当我使用pandas加载文件名时,无法正确读取。
这可以解决:
filelist = pd.read_excel("/Users/XXX/Documents/test/list.xlsx")
DF = []
for i in range(len(filelist)):
file = str(filelist[i])
df = pd.read_csv(file, index_col=None, header=0)
DF.append(df)
#combine all files
DF = pd.concat(DF, axis=0, ignore_index=True)
[Serge Ballesta说我不应该盲目相信打印的字符串,我按照他的建议在文件列表.File [0]中运行了print([(i,hex(ord(i))))for i),文件名后的一串空格弄乱了读取功能。
以上是关于在for循环中使用熊猫csv_read读取csv文件的主要内容,如果未能解决你的问题,请参考以下文章