I want to read several files located in one directory and then combine them into one pandas data frame.
It works if I do it as follows:
import pandas as pd
df1 = pd.read_csv("data/12015.csv")
df2 = pd.read_csv("data/22015.csv")
df3 = pd.read_csv("data/32015.csv")
df = pd.concat([df1, df2, df3])
However, I want to use a more elegant solution, which would be especially useful if the number of files is more than 3.
I tried this approach, however, I do not know how to apply concat
inside the for loop.
import pandas as pd
import os
from os import path
files = [x for x in os.listdir("data") if path.isfile("data"+os.sep+x)]
for f in files:
df = pd.read_csv("data/"+f)
source
share