How to combine multiple csv files based on file name

I would recommend you to approach the problem slightly differently.

Here's my solution:

import os
import pandas as pd

files = os.listdir('.') # returns list of filenames in current folder
files_of_interest = {} # a dictionary that we will be using in future

for filename in files: # iterate over files in a folder
    if filename[-4:] == '.csv': # check whether a file is of .csv format
        key = filename[:5] # as you've mentioned in you question - first five characters of filename is of interest
        files_of_interest.setdefault(key,[]) #if we dont have such key - .setdefault will create such key for us and assign empy list to it
        files_of_interest[key].append(filename) # append to a list new filename

for key in files_of_interest: 
    buff_df = pd.DataFrame()
    for filename in files_of_interest[key]:
        buff_df= buff_df.append(pd.read_csv(filename)) # iterate over every filename for specific key in dictionary and appending it to buff_df
    files_of_interest[key]=buff_df # replacing list of files by a data frame

This code will create a dictionary of dataframes. Where keys of the dictionary will be a set of first unique characters of .csv files.

Then you can iterate over keys of the dictionary to save every according dataframe as a .csv file.

Hope my answer helped.