遍历文件夹中的所有CSV文件

时间:2013-01-10 16:19:26

标签: python

我正在尝试仅浏览包含多种文件和多个文件夹的文件夹中的csv文件,我只是希望它列出此文件夹中的所有.csv文件。

这就是我的意思:

import os, sys

path = "path/to/dir"
dirs = os.listdir(path)

for file in dirs:
    if file == '*.csv':
        print file

我知道python中没有通配符变量,但有没有办法做到这一点?

3 个答案:

答案 0 :(得分:39)

使用glob模块:http://docs.python.org/2/library/glob.html

import glob
path = "path/to/dir/*.csv"
for fname in glob.glob(path):
    print(fname)

答案 1 :(得分:34)

Python提供了glob,应该这样做

>>> import glob
>>> glob.glob('/path/to/dir/*.csv')
  

返回与路径名匹配的可能为空的路径名列表   必须是包含路径规范的字符串。 pathname可以   绝对的(如/usr/src/Python-1.5/Makefile)或亲戚(如   ../../Tools//.gif),并且可以包含shell样式的通配符。破碎   符号链接包含在结果中(如在shell中)。

答案 2 :(得分:1)

我试图遍历包含cvs文件的文件夹,并打印列的编号和名称。 以下代码对我有用

import pandas as pd
import glob
path = r"C:\Users\gumnwe\OneDrive - BP\Desktop\Personal\eiLink\Skin Project\Skin_Project_Data_2020\*.csv"
for fname in glob.glob(path):
   df=pd.read_csv(fname)
   my_list=list(df.columns)
   print(len(my_list),my_list)