readdata.py 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. import os
  2. import traceback
  3. import ast
  4. chList = ['机号', '机型', '发动机', '任务类型', '进港时间', '出港时间', '航班号', '进港起飞', '离港到达', '放行人员', '维修人员', '备注']
  5. chList2 = ['序号', '机位', '机号', '机型', '发动机', '任务类型', '进港时间', '出港时间', '航班号', '进港起飞', '离港到达', '放行人员', '维修人员', '备注']
  6. def getData():
  7. with open('flightlist1.txt','r', encoding='utf-8') as f:
  8. text = f.read()
  9. data = ast.literal_eval(text)
  10. #print(data)
  11. dic = {}
  12. for key in data:
  13. #print(data[key])
  14. #print("B-{}, 机位:{}".format(data[key]['ACNO'], data[key]['BAY'].replace('S', "")))
  15. #print("B-{}, 机位:{}, 放行:{}, 工作者:{}, 机型:{}, " .format(data[key]['ACNO'], data[key]['BAY'], data[key]['FXRY'], data[key]['WXRY'],
  16. # data[key]['ACTYPE']))
  17. if data[key]['BAY']!="":
  18. if len(data[key]['BAY'])>2:
  19. if data[key]['BAY'][0]=="2":
  20. if data[key]['BAY'][1]=="0":
  21. # print("B-{}, 机位:{}, 放行:{}, 工作者:{}, 机型:{}, " .format(data[key]['ACNO'], data[key]['BAY'], data[key]['FXRY'], data[key]['WXRY'],
  22. # data[key]['ACTYPE']))
  23. dic["{}".format(data[key]['BAY'])] = {"bnum":"{}".format(data[key]['ACNO']), "FX":"{}".format(data[key]['FXRY']), "WX":"{}".format(data[key]['WXRY'])}
  24. # for i in data[key]:
  25. # print(i)
  26. # print(data[key][i])
  27. #print(dic)
  28. return dic
  29. def getData2():
  30. keyList = ['WXRY','TA','TD','FLIGHT_NO','ACTYPE','ARR_CH1','DEP_CH1','BAY','FXRY','ENG_TYPE','ACNO','TASKTYPE','REMARK_BUSINESS']
  31. tasktype = {"AP":"航前", "TR":"短停", "AF":"航后"}
  32. dic = {}
  33. with open('hbdt.txt','r', encoding='utf-8') as f:
  34. text = f.read()
  35. data = ast.literal_eval(text)
  36. uselly = data['data']
  37. for key in uselly:
  38. # for i in key:
  39. # print(i)
  40. # print(key[i])
  41. # print(key['ACNO'])
  42. # print(tasktype[key['TASKTYPE']])
  43. # print(key['TASKSTS'])
  44. try:
  45. bay = 'BAY'
  46. for kl in keyList:
  47. if kl not in key:
  48. if kl == bay:
  49. #print(key)
  50. bay = 'BAY_2'
  51. if key[bay]=='':
  52. bay = 'BAY_1'
  53. #print(bay)
  54. else:
  55. key[kl] = ''
  56. #print(key[kl])
  57. dic["{}".format(key[bay])]={'bnum':'{}'.format(key['ACNO']), 'actype':'{}'.format(key['ACTYPE']), 'engtype':'{}'.format(key['ENG_TYPE']), 'tasktype':'{}'.format(tasktype[key['TASKTYPE']]),
  58. 'timein':'{}'.format(key['TA']), 'timeout':'{}'.format(key['TD']), 'ftnum':'{}'.format(key['ARR_DEP']), 'pos1':'{}'.format(key['ARR_CH1']), 'pos2':'{}'.format(key['DEP_CH1']),
  59. 'FX':'{}'.format(key['FXRY']),'WX':'{}'.format(key['WXRY']), 'remark':'{}'.format(key['REMARK_BUSINESS'])}
  60. # print("工作者:{}, 进港时间:{},离港时间:{}, 航班号:{}, 机型:{}, 进港起飞:{},离港到达:{}, 机位:{}, 放行:{}, 发动机类型:{}, 机号:{}, 任务类型:{}, 备注信息:{}"
  61. # .format(key['WXRY'], key['TA'], key['TD'],key['ARR_DEP'], key['ACTYPE'], key['ARR_CH1'], key['DEP_CH1'], key[bay], key['FXRY'], key['ENG_TYPE'], key['ACNO'], tasktype[key['TASKTYPE']], key['REMARK_BUSINESS']))
  62. except KeyError as E:
  63. print("错误:{}".format(E))
  64. print(key)
  65. # if str(E)=="'BAY'":
  66. # print(
  67. # "工作者:{}, 进港时间:{},离港时间:{}, 航班号:{}, 机型:{}, 进港起飞:{},离港到达:{}, 机位:{}, 放行:{}, 发动机类型:{}, 机号:{}, 任务类型:{}, 备注信息:{}"
  68. # .format(key['WXRY'], key['TA'], key['TD'], key['FLIGHT_NO'], key['ACTYPE'], key['ARR_CH1'],
  69. # key['DEP_CH1'], key['BAY_2'], key['FXRY'], key['ENG_TYPE'], key['ACNO'], key['TASKTYPE'], key['REMARK_BUSINESS']))
  70. #print(dic)
  71. return dic
  72. def getAllData():
  73. tasktype = {"AP": "航前", "TR": "短停", "AF": "航后"}
  74. keyList = ['WXRY', 'TA', 'TD', 'FLIGHT_NO', 'ACTYPE', 'ARR_CH1', 'DEP_CH1', 'BAY', 'FXRY', 'ENG_TYPE', 'ACNO',
  75. 'TASKTYPE', 'REMARK_BUSINESS']
  76. with open('hbdt.txt','r', encoding='utf-8') as f:
  77. text = f.read()
  78. data = ast.literal_eval(text)
  79. uselly = data['data']
  80. dic = {}
  81. number = 0
  82. for key in uselly:
  83. number +=1
  84. bay = 'BAY'
  85. for kl in keyList:
  86. if kl not in key:
  87. if kl == bay:
  88. # print(key)
  89. bay = 'BAY_2'
  90. if key[bay] == '':
  91. bay = 'BAY_1'
  92. # print(bay)
  93. else:
  94. key[kl] = ''
  95. # print(key[kl])
  96. dic[number] = {'bay':'{}'.format(key[bay]),'bnum':'{}'.format(key['ACNO']), 'actype':'{}'.format(key['ACTYPE']), 'engtype':'{}'.format(key['ENG_TYPE']), 'tasktype':'{}'.format(tasktype[key['TASKTYPE']]),
  97. 'timein':'{}'.format(key['TA']), 'timeout':'{}'.format(key['TD']), 'ftnum':'{}'.format(key['ARR_DEP']), 'pos1':'{}'.format(key['ARR_CH1']), 'pos2':'{}'.format(key['DEP_CH1']),
  98. 'FX':'{}'.format(key['FXRY']),'WX':'{}'.format(key['WXRY']), 'remark':'{}'.format(key['REMARK_BUSINESS'])}
  99. #print(dic)
  100. return dic
  101. if __name__ == '__main__':
  102. dic = getData2()
  103. print(dic)
  104. getAllData()