import os from conversion_utils.conllu_to_tei import convert_file import csv # dir_path = 'data/conllu' # out_dir_path = 'data/tei' # for filename in os.listdir(dir_path): # in_name = os.path.join(dir_path, filename) # out_filename = filename.split('.')[:-1] # out_filename = '.'.join(out_filename) + '.xml' # out_name = os.path.join(out_dir_path, out_filename) # convert_file(in_name, out_name) metadata_list = [] with open('data/metadata.csv', newline='') as csvfile: for line in csv.reader(csvfile): metadata_list.append(line) metadata = [{} for i in range(len(metadata_list[0]) - 1)] for i in range(1, len(metadata_list[0])): metadata[i - 1]['title'] = metadata_list[0][i] metadata[i - 1]['subtitle'] = metadata_list[1][i] metadata[i - 1]['authors'] = metadata_list[2][i] metadata[i - 1]['first_edition'] = metadata_list[3][i] metadata[i - 1]['edition_in_corpus'] = metadata_list[4][i] metadata[i - 1]['layer_according_to_SEJO'] = metadata_list[5][i] metadata[i - 1]['audience'] = metadata_list[6][i] metadata[i - 1]['hours_of_classes'] = metadata_list[7][i] metadata[i - 1]['publisher'] = metadata_list[8][i] metadata[i - 1]['file_name'] = metadata_list[9][i] dir_path = 'data/conllu' out_path = 'data/tei/tei.xml' out_dir = 'data/conllu.conllu' # out_dir = dir_path + '/conllu_small.conllu' metadata_indices = [6, 16, 13, 7, 2, 1, 3, 14, 15, 0, 8, 4, 11, 9, 12, 5, 10] out_file = open(out_dir, 'w') metadata_indices = [] for fn_i, filename in enumerate(os.listdir(dir_path)): in_name = os.path.join(dir_path, filename) out_filename = filename.split('.')[:-1] out_filename = '.'.join(out_filename) for m_i, el in enumerate(metadata): if el['file_name'] == out_filename: metadata_indices.append(m_i) out_filename = out_filename + '.xml' out_name = os.path.join(out_dir, out_filename) in_file = open(in_name, 'r') data = f'# newdoc id = doc{str(fn_i+1)}\n' data += in_file.read() in_file.close() out_file.write(data) out_file.close() shuffled_metadata = [metadata[el] for el in metadata_indices] convert_file(out_dir, out_path, shuffled_metadata)