Are you looking for an array that is [txt column1, txt column2, filename]?
file_list = glob.glob(source_dir + '/*.TXT') #Get folder path containing text files
for num,file_path in enumerate(file_list):
data = np.genfromtxt(file_path, delimiter=',', skip_header=3, skip_footer=18)
data = np.vstack((data.T,np.ones(data.shape[0])*num)).T
if num==0: Output=data
else: Output=np.vstack((Output,data))
An alternative if you dont want to transpose twice.
data = np.vstack((data,(np.ones(data.shape[0])*num).reshape(-1,1)))