Guna pandian
Guna pandian

Reputation: 103

Reading multiple files into separate data frames in PYTHON

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

Answers (1)

jezrael
jezrael

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

Related Questions