How to read multiple files from different directory into one array?

Hey, i’ve been trying to simplify the code for my data analisis but i don’t know how can i do that. The way i was doing it is as:

#MACH 2
M2C00 = pd.read_csv('He-Ar/MACH2/C.00/sh.dat', delimiter='\s+', header=None).to_numpy()
M2C02 = pd.read_csv('He-Ar/MACH2/C.02/sh.dat', delimiter='\s+', header=None).to_numpy()
M2C05 = pd.read_csv('He-Ar/MACH2/C.05/sh.dat', delimiter='\s+', header=None).to_numpy()
M2C07 = pd.read_csv('He-Ar/MACH2/C.07/sh.dat', delimiter='\s+', header=None).to_numpy()
M2C90 = pd.read_csv('He-Ar/MACH2/C.90/sh.dat', delimiter='\s+', header=None).to_numpy()
M2C91 = pd.read_csv('He-Ar/MACH2/C.91/sh.dat', delimiter='\s+', header=None).to_numpy()
M2C92 = pd.read_csv('He-Ar/MACH2/C.92/sh.dat', delimiter='\s+', header=None).to_numpy()
M2C93 = pd.read_csv('He-Ar/MACH2/C.93/sh.dat', delimiter='\s+', header=None).to_numpy()
M2C94 = pd.read_csv('He-Ar/MACH2/C.94/sh.dat', delimiter='\s+', header=None).to_numpy()
M2C95 = pd.read_csv('He-Ar/MACH2/C.95/sh.dat', delimiter='\s+', header=None).to_numpy()
M2C96 = pd.read_csv('He-Ar/MACH2/C.96/sh.dat', delimiter='\s+', header=None).to_numpy()
M2C97 = pd.read_csv('He-Ar/MACH2/C.97/sh.dat', delimiter='\s+', header=None).to_numpy()
M2C98 = pd.read_csv('He-Ar/MACH2/C.98/sh.dat', delimiter='\s+', header=None).to_numpy()
M2C99 = pd.read_csv('He-Ar/MACH2/C.99/sh.dat', delimiter='\s+', header=None).to_numpy()
M2C995 = pd.read_csv('He-Ar/MACH2/C.995/sh.dat', delimiter='\s+', header=None).to_numpy()
M2C10 = pd.read_csv('He-Ar/MACH2/C.10/sh.dat', delimiter='\s+', header=None).to_numpy()

M2 = np.array([M2C00, M2C02, M2C05, M2C07, M2C90, M2C91, M2C92, M2C93, M2C94, M2C95, M2C96,M2C97, M2C98, M2C99, M2C995, M2C10])

#MACH 5
M5C00 = pd.read_csv('He-Ar/MACH5/C.00/sh.dat', delimiter='\s+', header=None).to_numpy()
M5C02 = pd.read_csv('He-Ar/MACH5/C.02/sh.dat', delimiter='\s+', header=None).to_numpy()
M5C05 = pd.read_csv('He-Ar/MACH5/C.05/sh.dat', delimiter='\s+', header=None).to_numpy()
M5C90 = pd.read_csv('He-Ar/MACH5/C.90/sh.dat', delimiter='\s+', header=None).to_numpy()
M5C91 = pd.read_csv('He-Ar/MACH5/C.91/sh.dat', delimiter='\s+', header=None).to_numpy()
M5C92 = pd.read_csv('He-Ar/MACH5/C.92/sh.dat', delimiter='\s+', header=None).to_numpy()
M5C93 = pd.read_csv('He-Ar/MACH5/C.93/sh.dat', delimiter='\s+', header=None).to_numpy()
M5C94 = pd.read_csv('He-Ar/MACH5/C.94/sh.dat', delimiter='\s+', header=None).to_numpy()
M5C95 = pd.read_csv('He-Ar/MACH5/C.95/sh.dat', delimiter='\s+', header=None).to_numpy()
M5C96 = pd.read_csv('He-Ar/MACH5/C.96/sh.dat', delimiter='\s+', header=None).to_numpy()
M5C97 = pd.read_csv('He-Ar/MACH5/C.97/sh.dat', delimiter='\s+', header=None).to_numpy()
M5C98 = pd.read_csv('He-Ar/MACH5/C.98/sh.dat', delimiter='\s+', header=None).to_numpy()
M5C99 = pd.read_csv('He-Ar/MACH5/C.99/sh.dat', delimiter='\s+', header=None).to_numpy()
M5C995 = pd.read_csv('He-Ar/MACH5/C.995/sh.dat', delimiter='\s+', header=None).to_numpy()
M5C9952 = pd.read_csv('He-Ar/MACH5/C.995-2/sh.dat', delimiter='\s+', header=None).to_numpy()


M5 = np.array([M5C00, M5C02, M5C05, M5C90, M5C91, M5C92, M5C93, M5C94, M5C95, M5C96,M5C97, M5C98, M5C99, M5C99])

But, that is not praticle, so i tried new stuff but i don’t understant quite yet, it is:

# Folder Path
MACH = np.array(['2','5'])
C = ['90','91','92','93','94','95','96','97','97','99','992']

i = 0
j = 0
for m in MACH:
    for c in C:
        path = f"He-Ar/MACH{m}/C.{c}/sh.dat"
        He_Ar[i,j] =  pd.read_csv(path, delimiter='\s+', header=None).to_numpy()
        i += 1
        j +=1

The files are splitted in this way: /He-Ar/MACH2 or MACH5/C.{90,91,…,99,995}/sh.dat
I would like to iterate into all this folders and put it all into one array if possivel, or one array for MACH 5 and other for MACH 5, is there a way to do that?