Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import glob
- import csv
- # import csv files from folder and change directory
- path = r'file_path'
- os.chdir(path)
- # create list of all files in directory
- allFiles = glob.glob(path + "/*.csv")
- # read in each file, add filename column
- with open('output.csv', 'w') as csvoutput:
- for i, fname in enumerate(allFiles):
- with open(fname,'r') as csvinput:
- if i != 0:
- csvinput.readline()
- writer = csv.writer(csvoutput, lineterminator='\n')
- reader = csv.reader(csvinput)
- print(os.path.basename(csvinput.name))
- all = []
- row = next(reader)
- row.append('FileName')
- all.append(row)
- for row in reader:
- row.append(os.path.basename(csvinput.name))
- all.append(row)
- writer.writerows(all)
- File 1:
- Col1 Col2 Col3
- A B C
- A B C
- A B C
- A B C
- File 2:
- Col14 Col5 Col6
- D E F
- D E F
- D E F
- D E F
- Current output:
- Col1 Col2 Col3 FileName
- A B C file_1.csv
- A B C file_1.csv
- A B C file_1.csv
- A B C file_1.csv
- D E F FileName <---- script is not adding filename, but header
- D E F file_2.csv
- D E F file_2.csv
- D E F file_2.csv
- Expected output:
- Col1 Col2 Col3 FileName
- A B C file_1.csv
- A B C file_1.csv
- A B C file_1.csv
- A B C file_1.csv
- D E F file_2.csv
- D E F file_2.csv
- D E F file_2.csv
- D E F file_2.csv
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement