Попробуйте стереть последнюю строку, так как она бесполезна, и сделайте dfs не списком, а пустым фреймом данных.
dfs = pd.DataFrame(data={'ID' :str(0), 'NAME':str(0), 'ADDRESS':0, 'COORDINATES':str(0)}]
Затем добавьте все остальные файлы, как вы, и в конце вы можете удалить первое наблюдение, поскольку это просто «инициализатор».
Что касается проблемы с именем столбцов, попробуйте следующее:
column_names = ["ID", "NAME", "ADDRESS", "COORDINATES"]
for file in range(len(filenames)):
data_read=pd.read_csv(filenames[file], header=0).reindex(columns=column_names)
dfs.append(data_read)
Соберите две части вместе и вы получите окончательный код :
path=r"C:\Notebooks\temp"
filenames = glob.glob(path+"/*.csv")
dfs = pd.DataFrame(data={'ID' :str(0), 'NAME':str(0), 'ADDRESS':0, 'COORDINATES':str(0)}]
column_names = ["ID", "NAME", "ADDRESS", "COORDINATES"]
for file in range(len(filenames)):
data_read=pd.read_csv(filenames[file], header=0).reindex(columns=column_names)
dfs.append(data_read)
dfs = dfs.iloc[1:,:]