import csv import re from pathlib import Path def convert_dir(path): source_path = Path(path) target_path = source_path.parent.joinpath('staging') for source_file in source_path.glob('*.csv'): print(source_file.name) target_file = target_path / source_file.name convert_file(source_file, target_file) def convert_file(source, target): with open(source, 'r', encoding='utf-8', newline='') as frh: with open(target, 'w', encoding='latin-1', newline='') as fwh: csv_reader = csv.reader(frh, delimiter=';') csv_writer = csv.writer(fwh, delimiter='\t') for row in csv_reader: converted = [convert_field(col) for col in row] csv_writer.writerow(converted) def convert_field(col): if re.match(r'\d:\d\d:\d\d', col): col = '0' + col return col def main(): convert_dir('E:\\GEBOS\\data') if __name__ == '__main__': main()