analysis2.py 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import json
  2. # 假设数据文件名为 'betting_data.txt',每行为一个时间戳和JSON数据
  3. file_path = '分析开奖记录.log'
  4. index = 0
  5. total_payout_by_bet_odd = 0
  6. total_payout_by_settle = 0
  7. bet_101 = 0
  8. bet_102 = 0
  9. options_pay_out = {}
  10. def process_settle(key, data):
  11. global total_payout_by_settle, total_payout_by_bet_odd
  12. player_settle = data["playerSettle"]
  13. for player in player_settle:
  14. total_payout_by_settle += player["totalWinAmount"]
  15. other_players = data["otherPlayers"]
  16. total_payout_by_settle += other_players["totalWinAmount"]
  17. # 开奖结果
  18. for result in data["optionResult"]:
  19. if result["result"] == 1:
  20. total_payout_by_bet_odd += options_pay_out[result["option"]]
  21. def compare_obb_and_settle(key, data):
  22. global total_payout_by_settle, total_payout_by_bet_odd
  23. diff_value = (total_payout_by_settle - total_payout_by_bet_odd) / 100
  24. diff_value = round(diff_value, 2)
  25. if diff_value != 0:
  26. print(
  27. f"{key} odd结果:{total_payout_by_bet_odd} 开奖结果:{total_payout_by_settle} 差值:{diff_value}¥ 数值不同不予计入")
  28. else:
  29. # print(f"{key} odd结果:{total_payout_by_bet_odd} 开奖结果:{total_payout_by_settle} 差值:{diff_value}¥")
  30. pass
  31. def clear():
  32. global bet_101, bet_102, total_payout_by_bet_odd, total_payout_by_settle
  33. bet_101 = 0
  34. bet_102 = 0
  35. total_payout_by_bet_odd = 0
  36. total_payout_by_settle = 0
  37. options_pay_out.clear()
  38. def parse_data_from_file(file_path):
  39. global index
  40. with open(file_path, 'r', encoding='utf-8') as file:
  41. for line in file:
  42. # print(line)
  43. line_strip = line.strip()
  44. line_strip = line_strip.replace("'", '"')
  45. line_strip = line_strip.replace("False", "false")
  46. line_strip = line_strip.replace("True", "true")
  47. timestamp = line_strip[:19]
  48. json_data = line_strip[20:]
  49. key = timestamp
  50. data = json.loads(json_data)
  51. if index % 2 == 0:
  52. process_obb(key, data)
  53. else:
  54. process_settle(key, data)
  55. compare_obb_and_settle(key, data)
  56. clear()
  57. index += 1
  58. def process_obb(key, data):
  59. global total_payout_by_bet_odd, bet_101, bet_102
  60. for item in data.values():
  61. option_ = item["option"]
  62. odds_ = item["odds"]
  63. bet_ = item["total_bet"]
  64. odds__bet_ = odds_ * bet_
  65. options_pay_out[option_] = round(odds__bet_, 2)
  66. if option_ == 101:
  67. bet_101 = bet_
  68. elif option_ == 102:
  69. bet_102 = bet_
  70. elif option_ == 103:
  71. options_pay_out[option_] = bet_101 + bet_102
  72. # 开始解析文件
  73. if __name__ == '__main__':
  74. parse_data_from_file(file_path)