#!/usr/bin/python import csv import collections def get_data(filename): '''function to read the data form the input csv file to use in the analysis''' reader = [] # Just in case the file open fails with open(filename, 'rb') as f: reader = csv.reader(f,delimiter=',') #returns all the data from the csv file in list form #f.close() # May need to close the file when done return list(reader) # only return the reader when you have finished. your_list = [] your_list += get_data('./scripts/modules-anselm.csv') your_list += get_data('./scripts/modules-salomon.csv') your_list += get_data('./scripts/modules-salomon-uv.csv') #print your_list #a=[["python/2.8.1",1],["python/2.9.1",2],["python/2.8.1",4],["python/3.0.1",4]] counts = dict() for i in your_list: #print i[0] #print int(i[1]) counts[i[0]]=counts.get(i[0], 0) + int(i[1]) #print sorted(counts.items()) c=[ "---", "--A", "-S-", "-SA", "U--", "U-A", "US-", "USA", ] print '!!! Hint "Cluster Acronyms"' print ' A - Anselm • S - Salomon • U - uv1 at Salomon' print '| Module </br><input id="searchInput" placeholder="🔍 Filter" style="width: 8rem; border-radius: 0.2rem; color: black; padding-left: .2rem;"> | Versions | Clusters |' print "| ------ | -------- | -------- |" software = dict() versions = '' clusters = '' prev = '' for m,i in sorted(counts.items()): #print m split = m.split('/') #print split if len(split) > 1: a = split[0] b = split[1] if split[0] <> prev: software[a] = {} software[a][b] = '`' + c[i] + '`' prev = a #print software.items() for m in sorted(software.items(), key=lambda i: i[0].lower()): software = m[0] versions = '' clusters = '' #print '</br>'.join(m[1].keys()) #print '</br>'.join(m[1].values()) print "| %s | %s | %s |" % (software, '</br>'.join(m[1].keys()), '</br>'.join(m[1].values())) print print '---8<--- "modules_matrix_search.md"'