Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何在使用glob.glob()读取时排除某些文件?_Python 3.x_Pandas_Glob - Fatal编程技术网

Python 3.x 如何在使用glob.glob()读取时排除某些文件?

Python 3.x 如何在使用glob.glob()读取时排除某些文件?,python-3.x,pandas,glob,Python 3.x,Pandas,Glob,我正在使用glob.glob()读取一些文件。我想读取所有名为123*.txt的文件,除了那些名为123*error.txt的文件。另外,是否有方法打印for循环中的文件名,该循环位于pd.concat()中 使用此模式 files = glob.glob('C:/script_testing/**/123*[!error].txt`, recursive=True) 然后继续 fields = ['StudentID', 'Grade'] path= 'C:/script_testing/'

我正在使用glob.glob()读取一些文件。我想读取所有名为123*.txt的文件,除了那些名为123*error.txt的文件。另外,是否有方法打印for循环中的文件名,该循环位于pd.concat()中

使用此模式

files = glob.glob('C:/script_testing/**/123*[!error].txt`, recursive=True)
然后继续

fields = ['StudentID', 'Grade']
path= 'C:/script_testing/'

parse = lambda f: pd.read_csv(f, usecols=fields)
table3 = pd.concat(
    [parse(f) for f in files]
).pipe(lambda d: pd.crosstab(d.StudentID, d.Grade))


参考

谢谢!成功了!我以为我试过所有这些组合,但可能不是。
fields = ['StudentID', 'Grade']
path= 'C:/script_testing/'

parse = lambda f: pd.read_csv(f, usecols=fields)
table3 = pd.concat(
    [parse(f) for f in files]
).pipe(lambda d: pd.crosstab(d.StudentID, d.Grade))