sipp11
11 years ago
2 changed files with 72 additions and 0 deletions
@ -0,0 +1,65 @@ |
|||||||
|
''' |
||||||
|
Step 5 |
||||||
|
''' |
||||||
|
# -*- coding:utf-8 -*- |
||||||
|
#!/usr/bin/env python |
||||||
|
from __future__ import print_function |
||||||
|
from base import create_csv, TARGET_DIR, MODEL_LIST |
||||||
|
import os |
||||||
|
import csv |
||||||
|
import sys |
||||||
|
|
||||||
|
|
||||||
|
def get_sorted_list(model_name): |
||||||
|
_m = model_name |
||||||
|
result = [] |
||||||
|
fpath = os.path.join(TARGET_DIR, 'part4', '%s-step4.csv' % _m) |
||||||
|
if _m not in MODEL_LIST: |
||||||
|
return [] |
||||||
|
weight_index = MODEL_LIST.index(_m) + 5 # offset |
||||||
|
with open(fpath, 'rb') as f: |
||||||
|
rows = csv.reader(f) |
||||||
|
for r in rows: |
||||||
|
# result[r[0]] = [r[1], r[2], r[3], r[4], r[5], r[6]] |
||||||
|
result.append([ |
||||||
|
r[0], # no of tree |
||||||
|
r[1], # lo_id |
||||||
|
r[2], # ??? |
||||||
|
r[3], # ?? |
||||||
|
r[4], # something count |
||||||
|
r[weight_index] |
||||||
|
]) |
||||||
|
sorted_result = sorted(result, key=lambda x: x[5], reverse=True) |
||||||
|
|
||||||
|
return sorted_result |
||||||
|
|
||||||
|
|
||||||
|
def loop_thru_model(): |
||||||
|
result = {} |
||||||
|
max_count = 0 |
||||||
|
for m in MODEL_LIST: |
||||||
|
result[m] = get_sorted_list(m) |
||||||
|
max_count = max_count if max_count > len(result[m]) else len(result[m]) |
||||||
|
|
||||||
|
return (result, max_count) |
||||||
|
|
||||||
|
|
||||||
|
sorted_by_weight, max_count = loop_thru_model() |
||||||
|
rows = [] |
||||||
|
# fill up header since there is no way to know what model is |
||||||
|
row = ['|', ] |
||||||
|
for m in MODEL_LIST: |
||||||
|
row += ['-', '-', m, '-', '-', '|'] |
||||||
|
rows.append(row) |
||||||
|
|
||||||
|
for i in xrange(0, max_count): |
||||||
|
row = [i, ] |
||||||
|
for m in MODEL_LIST: |
||||||
|
try: |
||||||
|
row += sorted_by_weight[m][i] |
||||||
|
except IndexError: |
||||||
|
row += ['', '', '', '', '', ''] |
||||||
|
|
||||||
|
rows.append(row) |
||||||
|
|
||||||
|
create_csv('sorted_all.csv', rows, directory='part5') |
Loading…
Reference in new issue