mirror of
https://gitlab.dit.htwk-leipzig.de/computermusik-ws23/data-composition.git
synced 2025-07-04 21:31:46 +02:00
Upload current attempts
This commit is contained in:
34
tools/transform_data.py
Executable file
34
tools/transform_data.py
Executable file
@ -0,0 +1,34 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# Helper functions to transform data from CSV files into haskell files
|
||||
|
||||
import csv
|
||||
import os
|
||||
import sys
|
||||
import re
|
||||
|
||||
def transform_data(input_file, output_file):
|
||||
filename:str= os.path.splitext(os.path.basename(output_file))[0]
|
||||
with open(input_file, 'r') as csvfile:
|
||||
reader = csv.reader(csvfile, delimiter=',')
|
||||
with open(output_file, 'w') as f:
|
||||
f.write('module '+filename+' where\n')
|
||||
f.write(filename.lower()+' = [\n')
|
||||
for row in reader:
|
||||
if reader.line_num == 1:
|
||||
continue
|
||||
if reader.line_num == 2:
|
||||
if len(row) > 0:
|
||||
f.write(' ("' + row[0] + '", "' + row[1] + '")')
|
||||
else:
|
||||
if len(row) > 0:
|
||||
f.write(',\n ("' + row[0] + '", "' + row[1] + '")')
|
||||
f.write('\n ]\n')
|
||||
f.close()
|
||||
print('Data transformed from ' + input_file + ' to ' + output_file)
|
||||
|
||||
if __name__ == '__main__':
|
||||
if len(sys.argv) < 3:
|
||||
print('Usage: transform_data.py input_file output_file')
|
||||
else:
|
||||
transform_data(sys.argv[1], sys.argv[2])
|
Reference in New Issue
Block a user