我试图只遍历包含多种文件和许多文件夹的文件夹中的 csv 文件,我只希望它列出该文件夹中的所有 .csv 文件。
这就是我的意思:
import os, sys
path = "path/to/dir"
dirs = os.listdir(path)
for file in dirs:
if file == '*.csv':
print file
我知道python中没有通配符变量,但是有没有办法做到这一点?
我试图只遍历包含多种文件和许多文件夹的文件夹中的 csv 文件,我只希望它列出该文件夹中的所有 .csv 文件。
这就是我的意思:
import os, sys
path = "path/to/dir"
dirs = os.listdir(path)
for file in dirs:
if file == '*.csv':
print file
我知道python中没有通配符变量,但是有没有办法做到这一点?
使用 glob 模块:http ://docs.python.org/2/library/glob.html
import glob
path = "path/to/dir/*.csv"
for fname in glob.glob(path):
print(fname)
Python 提供了glob
应该执行此操作的
>>> import glob
>>> glob.glob('/path/to/dir/*.csv')
返回与路径名匹配的可能为空的路径名列表,该路径名必须是包含路径规范的字符串。路径名可以是绝对的(如 /usr/src/Python-1.5/Makefile)或相对的(如 ../../Tools/ / .gif),并且可以包含 shell 样式的通配符。结果中包含损坏的符号链接(如在 shell 中)。
我试图遍历包含 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)