使用Python查找目录中的所有CSV文件
我怎么能在Python中找到目录下所有扩展名为.csv的文件呢?
14 个回答
33
通过结合使用过滤器和lambda表达式,你可以轻松地从指定文件夹中筛选出csv文件。
import os
all_files = os.listdir("/path-to-dir")
csv_files = list(filter(lambda f: f.endswith('.csv'), all_files))
# lambda returns True if filename (within `all_files`) ends with .csv or else False
# and filter function uses the returned boolean value to filter .csv files from list files.
61
from os import listdir
def find_csv_filenames( path_to_dir, suffix=".csv" ):
filenames = listdir(path_to_dir)
return [ filename for filename in filenames if filename.endswith( suffix ) ]
这个函数 find_csv_filenames()
会返回一个文件名的列表,这些文件名是字符串形式,存放在指定的目录 path_to_dir
中,并且文件名的后缀是你设定的(默认是“.csv”)。
补充说明
如何打印这些文件名:
filenames = find_csv_filenames("my/directory")
for name in filenames:
print name
104
这段代码是用来处理一些数据的。它的主要功能是接收输入,然后根据特定的规则进行处理,最后输出结果。代码的结构通常包括一些函数和变量,函数就像是一个小工具,可以重复使用,而变量则是用来存储信息的容器。
在这段代码中,可能会有一些条件判断,比如“如果这个条件成立,就执行某个操作”,这就像是在说“如果天气好,我就去散步”。还有可能会有循环的部分,也就是重复做某件事情,直到满足某个条件,就像是你在做作业时,反复检查直到没有错误为止。
总之,这段代码的目的是为了让计算机按照我们的要求去处理数据,最终得到我们想要的结果。
import os
import glob
path = 'c:\\'
extension = 'csv'
os.chdir(path)
result = glob.glob('*.{}'.format(extension))
print(result)