cluster_by_distance_csv_only.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #go through csv file, speichern x und y
  2. #dann loop durch alle anderen x und y:
  3. # if abstand x weniger als
  4. # if abstand y weniger als
  5. # dann selber cluster
  6. # alles in ein file/variable speichern und werte löschen??? oder markieren als bereits geclustert
  7. # alles durchgehen
  8. #wenn alles durch dann neues x und y und nochmal alles von vorn
  9. import csv
  10. csvfile1 = open('values_LH.csv', 'r')
  11. spamreader1 = list(csv.reader(csvfile1, dialect='excel', delimiter=','))
  12. csvfile1.close()
  13. already_merged=False
  14. new_rows_list = []
  15. with open("values_LH.csv", "r") as csvfile:
  16. reader = csv.reader(csvfile, delimiter=',')
  17. for row in reader:
  18. #print(row)
  19. x = row[5]
  20. #print(x)
  21. y = row[6]
  22. #print(y)
  23. for row1 in spamreader1:
  24. #print(row1)
  25. x1 = row1[5]
  26. #print(x1)
  27. y1 = row1[6]
  28. #print(abs(float(x1) - float(x)))
  29. #print(abs(float(y1) - float(y)))
  30. if (abs(float(x1) - float(x)) < 30.0) and (abs(float(y1) - float(y)) < 5.0): # and row[7] == False:
  31. #print(row)
  32. row[4] = row[4] + " " + row1[4]
  33. #print(row[4])
  34. row[7] = True
  35. new_row = [row[0], row[1], row[2],row[3],row[4],row[5],row[6]] #write all values, including new merged text
  36. print(new_row)
  37. new_rows_list.append(new_row)
  38. csvfile.close()
  39. file2 = open("merged_values.csv", 'w')
  40. writer = csv.writer(file2)
  41. writer.writerows(new_rows_list)
  42. file2.close()