In [1]:
import os
import pandas as pd
import numpy as np
import sys
import shapefile
import operator

In [2]:
out_path = os.path.join('input_files_MckeesRocks_SPC')
demand_file_name = 'MNM_input_demand'

In [3]:
demand_str = '# Origin_ID Destination_ID <demand by interval> <truck demand by interval>\n'

with open(input_file_name, 'r') as infile:
    for line in infile.readlines():
        if line[0] != '#':
            demands = line.rstrip('\n').split(' ')
            num_int = (len(demands) - 2)//2
            int_sums = [0 for i in range(num_int*2)]
            break

with open(demand_file_name, 'r') as infile:
    for line in infile.readlines():
        if line[0] != '#':
            demands = line.rstrip('\n').split(' ')
            for i in range(12):
                demands[2 + i*4] = demands[2 + i*4 + 1]
            demand_str += ' '.join(demands) + '\n'
            
            for i in range(num_int):
                int_sums[i] += float(demands[2 + i])
                int_sums[i + num_int] += float(demands[2 + i + num_int])
                
print(int_sums)
print(sum(int_sums))

f = open(os.path.join(out_path, demand_file_name), 'w')
f.write(demand_str)
f.close()


[18604.257694123164, 18604.257694123164, 20667.922152852036, 21921.8723766516, 22420.737795370755, 22420.737795370755, 22433.81535317002, 22350.80634974682, 21779.07501986962, 21779.07501986962, 22041.826522244723, 21904.978810033186, 19495.145253529212, 19495.145253529212, 20313.262099806052, 20640.110741198292, 17442.773271383965, 17442.773271383965, 18516.971924598078, 19024.25946133982, 16758.889857895134, 16758.889857895134, 17857.034926836754, 18287.38725193074, 914.6201832215677, 914.6201832215677, 944.9802457544475, 974.2243281572505, 981.1291858771865, 981.1291858771865, 991.9293696433248, 1023.1106613401814, 1037.6333683206192, 1037.6333683206192, 1053.1389229325011, 1096.4766149956974, 1047.5260070082243, 1047.5260070082243, 1048.1479111737794, 1059.2624699180903, 1038.2466203665103, 1038.2466203665103, 1047.8851358206118, 1025.5505340609989, 1025.7182862181517, 1025.7182862181517, 1026.3139859917817, 720.7618002408673]
503063.535037

In [3]:
# demand_str = '# Origin_ID Destination_ID <demand by interval> <truck demand by interval>\n'

# with open(demand_file_name, 'r') as infile:
#     for line in infile.readlines():
#         if line[0] != '#':
#             demands = line.rstrip('\n').split(' ')
#             num_int = (len(demands) - 2)
#             int_sums = [0 for i in range(num_int*2)]
#             break

# with open(demand_file_name, 'r') as infile:
#     for line in infile.readlines():
#         if line[0] != '#':
#             demands = line.rstrip('\n').split(' ')
#             for i in range(2, 2+num_int):
#                 demands[i] = str(float(demands[i]) / 1.9)
#             for i in range(6):
#                 demands[2 + i*4] = demands[2 + i*4 + 1]
#             for i in range(2, 2+4):
#                 demands[i] = str(float(demands[i]) / 1.2)
#             for i in range(2+4, 2+8):
#                 demands[i] = str(float(demands[i]) / 1.1)
#             for i in range(2+16, 2+20):
#                 demands[i] = str(float(demands[i]) / 1.1)
#             for i in range(2+20, 2+24):
#                 demands[i] = str(float(demands[i]) / 1.2)
            
#             for i in range(2, 2+num_int):
#                 demands[i] = str(float(demands[i]) * 1.1)
                
#             demands += [str(float(e)/10) for e in demands[2 : 2 + num_int]]
# #             demands += ['0' for e in demands[2 : 2 + num_int]]
#             demand_str += ' '.join(demands) + '\n'
            
#             for i in range(num_int):
#                 int_sums[i] += float(demands[2 + i])
#                 int_sums[i + num_int] += float(demands[2 + i + num_int])
                
# print(int_sums)
# print(sum(int_sums))

# f = open(os.path.join(out_path, demand_file_name), 'w')
# f.write(demand_str)
# f.close()


[18063.133811896805, 18063.133811896805, 19321.887413212753, 19308.876658877616, 19840.251044406145, 19840.251044406145, 21029.79783910821, 21088.117882717484, 21870.945915547538, 21870.945915547538, 23214.498955536088, 23193.54420348858, 21590.446934012944, 21590.446934012944, 23120.234051005486, 23172.980906335077, 19615.333862902447, 19615.333862902447, 21049.576892052613, 21065.57872209264, 18025.493834978177, 18025.493834978177, 19282.714794847838, 19325.776517009977, 1806.3133811897142, 1806.3133811897142, 1932.1887413212637, 1930.8876658877493, 1984.0251044406227, 1984.0251044406227, 2102.9797839108483, 2108.8117882717615, 2187.0945915547604, 2187.0945915547604, 2321.449895553574, 2319.3544203488746, 2159.044693401307, 2159.044693401307, 2312.0234051005564, 2317.298090633482, 1961.5333862902144, 1961.5333862902144, 2104.9576892052605, 2106.5578722092664, 1802.5493834978408, 1802.5493834978408, 1928.271479484784, 1932.5776517010142]
541403.275208

In [7]:
# demand_str = '# Origin_ID Destination_ID <demand by interval> <truck demand by interval>\n'

# hour = 5

# with open(demand_file_name, 'r') as infile:
#     for line in infile.readlines():
#         if line[0] != '#':
#             demands = line.rstrip('\n').split(' ')
#             num_int = (len(demands) - 2) * hour
#             int_sums = [0 for i in range(num_int)]
#             break

# with open(demand_file_name, 'r') as infile:
#     for line in infile.readlines():
#         if line[0] != '#':
#             demands = line.rstrip('\n').split(' ')
#             for i in range(2, 5):
#                 demands[i] = demands[i + 1]
        
#             for i in range(2, 6):
#                 demands[i] = str(float(demands[i]) / 3)
#             for i in range(hour-1):
#                 demands += demands[2:6]
                
#             demands += ['0' for i in range(num_int)]
#             demand_str += ' '.join(demands) + '\n'
            
#             for i in range(num_int):
#                 int_sums[i] += float(demands[2 + i])
                
# print(int_sums)
# print(sum(int_sums)*2)

# f = open(os.path.join(out_path, demand_file_name), 'w')
# f.write(demand_str)
# f.close()

In [ ]: