我想查看同一目录中不同文件夹中包含的不同csv文件。我的文件夹在我的工作目录中。我的文件夹名为:
csv1.csv, csv2.csv
每个人的csv都有相同的名字import os
import re
import pandas as pd
from pandas.core.frame import DataFrame
rootDir = '.'
for dirName, subdirList, fileList in os.walk(rootDir, topdown=False):
print('Found directory: %s' % dirName)
for fname in fileList:
print('\t%s' % fname)
if "csv1.csv" == fname:
var= pd.read_csv(fname)
。
我试过这段代码:
IOError: File csv1.csv does not exist
我可以在该文件夹中打印csv文件的名称,但是我收到错误:
{{1}}
可能是什么问题?
答案 0 :(得分:1)
正如您在评论中看到的那样,您必须加入rootDir
,dirName
和fname
。
import os
import re
import pandas as pd
from pandas.core.frame import DataFrame
rootDir = '.'
for dirName, subdirList, fileList in os.walk(rootDir, topdown=False):
print('Found directory: %s' % dirName)
for fname in fileList:
print('\t%s' % fname)
filepath = os.path.join(rootDir, dirName, fname)
if "csv1.csv" == fname:
var = pd.read_csv(filepath)
print var.head()
智能地加入一个或多个路径组件。返回值是路径和
*paths
的任何成员的串联,在除了最后一个之外的每个非空部分之后只有一个目录分隔符(os.sep
),这意味着结果将仅在分隔符中结束最后一部分是空的。如果组件是绝对路径,则抛弃所有先前的组件,并从绝对路径组件继续连接。在Windows上,遇到绝对路径组件(例如
r'\foo'
)时,不会重置驱动器号。如果组件包含驱动器号,则会丢弃所有先前的组件并重置驱动器号。请注意,由于每个驱动器都有一个当前目录,os.path.join("c:", "foo")
表示相对于驱动器C:
(c:foo
)上当前目录的路径,而不是c:\foo
。