# https://www.globalsino.com/ICs/page4853.html
# Sort csv data by a specific column

import csv

order = 0

MyFile = open(r'C:\GlobalSino\images\TestImages\Excel\CityDate.csv', 'r')
csv_reader = csv.reader(MyFile, delimiter=',')

csv_list = list(csv_reader) # "list" is the row numbers
MyFile.close()

MyFile = open('C:\GlobalSino\images\TestImages\Excel\Sorted_CityDate.csv', 'w')

MyFile.write('order,')

for i in csv_list[0]:
    if i == csv_list[0][-1]: 
        MyFile.write(i)
    else:
        MyFile.write(i+ ',')

csv_list = csv_list[1:]

# Sort by column index [1], column [-1] is the last column
csv_list.sort(key = lambda x:x[1], reverse = False) 

for i in csv_list:
    if order == 0:
        prev_i = csv_list[csv_list.index(i)]
        order +=1
    else:
        prev_i = csv_list[csv_list.index(i) - 1]

    if i[-1] == prev_i[-1]:
        MyFile.write(f'{order},') #'\n{order},'
    else:
        order +=1
        MyFile.write(f'{order},')
    for j in i:
        if j == i[-1]:
            MyFile.write(j +'\n')
        else:
            MyFile.write(j + ',')
MyFile.write('')
MyFile.close()
