diff convert_multiple_dta_to_csv.py @ 3:1484ee3d947d draft

Uploaded
author mb2013
date Wed, 20 Nov 2013 03:54:05 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/convert_multiple_dta_to_csv.py	Wed Nov 20 03:54:05 2013 -0500
@@ -0,0 +1,46 @@
+#Converter of multiple dta files to one csv
+#M.Baak
+#13-11-2013
+#last update: 13-11-2013
+
+import sys
+import os
+
+
+file_outputname = sys.argv[1]
+file_outputname2 = sys.argv[2]
+file_name = sys.argv[3:]
+
+def convert_dta(file_name,file_outputname,file_outputname2):
+    output = open(file_outputname,'w') #output file
+    output2 = open(file_outputname2, 'w')
+    
+    for x in range(0,len(file_name)):
+        read_file = open(file_name[x], 'r') #open file
+    	a = len(read_file.readlines())
+    	read_file2 = open(file_name[x], 'r') # open file second time
+    
+
+    	numberlandmarks = 0
+    	header = "" 
+
+        #for loop, coordinates, number of landmarks and name of sample will be stored in csv format
+        for x in range(0,a):
+            b = read_file2.readline().strip()
+            split_tabs = b.split('  ')
+            number_columns = len(split_tabs)
+            if x == 0:
+                header += b.replace(' ', '_')     #name of sample     
+            if number_columns == 3: #coordinates
+                output.write("%f,%f,%f\n"%(float(split_tabs[0]),float(split_tabs[1]),float(split_tabs[2])))
+                numberlandmarks += 1 # number of landmarks
+
+        output2.write("%s\n"%(header[1:-4])) # writing header to output file
+
+    output.close()
+
+convert_dta(file_name,file_outputname,file_outputname2)
+            
+
+            
+