CommonUtils.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import collections
  2. def get_dict_list(key,value_list):
  3. """把一个列表的数据变成有序字典
  4. :param key []
  5. :param value_list [[]]
  6. :return [{},{}]
  7. """
  8. data_list=[]
  9. for i in value_list:
  10. data_list.append(collections.OrderedDict(zip(key, i)))
  11. return data_list
  12. def get_round(li,p=4):
  13. """
  14. :param li: [[]] or [()]
  15. :return: [[]]
  16. """
  17. y=[]
  18. for i in li:
  19. x = []
  20. for j in i:
  21. if isinstance(j,float):
  22. x.append(round(j,p))
  23. else:
  24. x.append(j)
  25. y.append(x)
  26. return y
  27. def getLimitData(DataBase,sql,page,page_size):
  28. total = DataBase.getData(f"select count(1) from ({sql}) a")[0][0]
  29. if page and page_size:
  30. sql += f" limit {(page - 1) * page_size},{page_size} "
  31. # print(sql)
  32. data = DataBase.getData_json(sql)
  33. return data,total
  34. def getLimitSumData(DataBase,sql,sumSql,page,page_size):
  35. data,total= getLimitData(DataBase,sql,page,page_size)
  36. di =DataBase.getData_json(sumSql)[0]
  37. return data,total,di
  38. def getLimitSumDataV2(DataBase,sql,sumSql,page,page_size):
  39. if page_size:
  40. page_size-=1
  41. data,total= getLimitData(DataBase,sql,page,page_size)
  42. # print(data)
  43. di =DataBase.getData_json(sumSql)
  44. di.extend(data)
  45. return di,total