Reputation: 103
I want to know if there's a way in python for reading multiple CSV file form a folder and assigning to separate data frame by the name of the file. The below code will throw an error but to show the point I pasted it
import glob
for filename in glob.glob('*.csv'):
index = filename.find(".csv")
if "test" in filename:
filename[:index]) = pd.read_csv(filename)
Upvotes: 3
Views: 3544
Reputation: 862431
I believe you need create dictionary of DataFrame
with keys
by filenames:
d = {}
for filename in glob.glob('*.csv'):
if "test" in filename:
d[filename[:-4]] = pd.read_csv(filename)
What is same as:
d = {f[:-4]: pd.read_csv(f) for f in glob.glob('*.csv') if "test" in f}
If want only name of file is possible use:
d = {os.path.basename(f).split('.')[0]:pd.read_csv(f) for f in glob.glob('*.csv') if "test" in f}
Upvotes: 6