Advertisement
Falexom

Untitled

Aug 27th, 2022
1,315
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.71 KB | None | 0 0
  1. import texttable    # убейте меня кто-нибудь
  2. import codecs
  3. import re
  4.  
  5.  
  6. def sort_str(data):
  7.     sample_data = data.readlines()
  8.     sample_data.sort()
  9.     arr = []
  10.  
  11.     for i in range(len(sample_data)):
  12.         arr.append(sample_data[i])
  13.  
  14.     remove_n = []
  15.     for sub in arr:
  16.         remove_n.append(re.sub('\n', '', sub))
  17.  
  18.     cleared = []
  19.     for sub in remove_n:
  20.         cleared.append(re.sub('\r', '', sub))
  21.  
  22.     return cleared
  23.  
  24.  
  25. def formating(data, value):
  26.     i = 0
  27.     lst_f = []
  28.     for i in range(len(data)):
  29.         lst = list(data[i].split(' '))
  30.         lst.insert(4, value)
  31.         temp = lst[5]
  32.         lst.pop(5)
  33.         lst.insert(7, temp)
  34.         fio = " ".join(lst[0:3])
  35.         del lst[0:3]
  36.         lst.insert(0, fio)
  37.         lst_f.append(lst)
  38.     return lst_f
  39.  
  40.  
  41. table = texttable.Texttable()
  42. app_inf = codecs.open('AI_students.txt', 'r', 'utf-8')
  43. inf_sec = codecs.open('IS_students.txt', 'r', 'utf-8')
  44.  
  45. app_inf_list = sort_str(app_inf)
  46. inf_sec_list = sort_str(inf_sec)
  47.  
  48. final_app = formating(app_inf_list, 'Прикладная информатика')
  49. final_inf = formating(inf_sec_list, 'Защита информации')
  50. table.set_cols_align(['l', 'c', 'l', 'c', 'c', 'c', 'c'])
  51. table.set_cols_dtype(['t', 't', 't', 't', 't', 't', 't'])
  52. table.add_rows([['Фамилия Имя Отчество', 'Дата рождения', 'Специальность', 'Курс', 'Группа', 'Балл при поступлении',
  53.                  'Срредний Балл']],
  54.                header=True)
  55. for i in range(len(final_app)):
  56.     table.add_row(final_app[i])
  57. for i in range(len(final_inf)):
  58.     table.add_row(final_inf[i])
  59.  
  60. print(table.draw())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement