Loop through all CSV files in a folder

Python provides glob which should do this

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

Return a possibly-empty list of path names that match pathname, which must be a string containing a path specification. pathname can be either absolute (like /usr/src/Python-1.5/Makefile) or relative (like ../../Tools//.gif), and can contain shell-style wildcards. Broken symlinks are included in the results (as in the shell).


Use the glob module: http://docs.python.org/2/library/glob.html

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

I was trying to loop through the folder containing cvs files and print the number and the name of the columns. Following code worked for me

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)

Tags:

Python