Advertisement
Guest User

Untitled

a guest
Apr 21st, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. account_id | parent_id
  2. ------------------------
  3. 5555 | None (пустой)
  4.  
  5. account_id | parent_id
  6. -----------------------
  7. 6666 | 5555
  8.  
  9. # -*- coding: utf-8 -*-
  10.  
  11. import psycopg2
  12. import psycopg2.extras
  13.  
  14. sql = "select * from accounts"
  15.  
  16.  
  17. try:
  18. conn = psycopg2.connect("dbname='DB' user='postgres'"
  19. " host='postgres.contora.com' password='xxxxxxxx'")
  20. except psycopg2.Error as err:
  21. print("Connection error: {}".format(err))
  22.  
  23. try:
  24. cur = conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor)
  25. cur.execute(sql)
  26. data = cur.fetchall()
  27. except psycopg2.Error as err:
  28. print("Query error: {}".format(err))
  29.  
  30. data_dict = []
  31. for row in data:
  32. data_dict.append(dict(row))
  33.  
  34.  
  35. start_count = 0
  36.  
  37. for data_dict[start_count] in data_dict:
  38. ib_level = 0
  39. if data_dict[start_count].get('parent_id') is None:
  40. data_dict[start_count].update({'IB_level': ib_level})
  41. print('IB level 0:n')
  42. print(data_dict[start_count])
  43. elif isinstance(data_dict[start_count].get('parent_id'), int):
  44. ib_level_calc = ib_level + 1
  45. data_dict[start_count].update({'IB_level': ib_level_calc})
  46. print('IB level 1:n')
  47. print(data_dict[start_count])
  48. start_count = start_count + 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement