PyQt5_self_footbal/Start_Program_win0168.py

1206 lines
86 KiB
Python
Raw Normal View History

2019-05-21 12:14:51 +08:00
# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @Author : wuda
# @Project : ershi
# @Software : PyCharm
# @File : Start_Program_win007.py
# @Time : 2019/1/22 14:32
# !/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time : 2018/11/8/008 22:12
# @Author : wuda
# @FileName: main_file.py
# @Software: PyCharm
import re
import os
import sys
import pymysql
import threading
from Main_win0168 import Ui_MainWindow
from PyQt5.QtWidgets import QMainWindow, QApplication, QMessageBox, QButtonGroup, QHeaderView
from PyQt5.QtGui import QStandardItemModel, QStandardItem
from PyQt5.QtCore import QDateTime, Qt
from win0168_spider import Spider
MYSQL_HOST = '127.0.0.1'
MYSQL_PORT = 3306
MYSQL_DB = 'win0168'
MYSQL_USER = 'root'
MYSQL_PWD = 'root'
CHAR_SET = 'utf8'
TABLE = 'win0168_data'
title = ['公司', '初_主队', '初_盘口', '初_客队', '初_总计_场', '初_总计_主', '初_总计_和', '初_总计_客', '初_五大联赛_场',
'初_五大联赛_主', '初_五大联赛_和', '初_五大联赛_客', '初_以甲_场', '初_以甲_主', '初_以甲_和', '初_以甲_客',
'初_场次', '初_主胜', '初_和局', '初_客胜', '初_历史', '即_主队', '即_盘口', '即_客队', '即_总计_场', '即_总计_主',
'即_总计_和', '即_总计_客', '即_五大联赛_场', '即_五大联赛_主', '即_五大联赛_和', '即_五大联赛_客', '即_以甲_场',
'即_以甲_主', '即_以甲_和', '即_以甲_客', '即_场次', '即_主胜', '即_和局', '即_客胜', '即_历史']
title_cz = ['公司', '总计_场', '总计_主', '总计_和', '总计_客',
'主胜', '和局', '客胜', '历史']
title_cw = ['公司', '五大联赛_场', '五大联赛_主', '五大联赛_和', '五大联赛_客',
'主胜', '和局', '客胜', '历史']
title_cy = ['公司', '以甲_场', '以甲_主', '以甲_和', '以甲_客',
'主胜', '和局', '客胜', '历史']
title_jz = ['公司', '总计_场', '总计_主', '总计_和', '总计_客',
'主胜', '和局', '客胜', '历史']
title_jw = ['公司', '总计_场', '五大联赛_场', '五大联赛_主', '五大联赛_和',
'五大联赛_客', '主胜', '和局', '客胜', '历史']
title_jy = ['公司', '以甲_场', '以甲_主', '以甲_和', '以甲_客',
'主胜', '和局', '客胜', '历史']
field = "公司,,初_总计_场,初_总计_主,初_总计_和,初_总计_客,初_五大联赛_场,初_五大联赛_主,初_五大联赛_和,初_五大联赛_客,初_以甲_场,初_以甲_主,初_以甲_和,初_以甲_客,初_场次,初_主胜,初_和局,初_客胜,初_历史,,即_总计_场,即_总计_主,即_总计_和,即_总计_客,即_五大联赛_场,即_五大联赛_主,即_五大联赛_和,即_五大联赛_客,即_以甲_场,即_以甲_主,即_以甲_和,即_以甲_客,即_场次,即_主胜,即_和局,即_客胜,即_历史"
field_cz = "公司,初_总计_场,初_总计_主,初_总计_和,初_总计_客,初_主胜_总,初_和局_总,初_客胜_总,初_历史_总"
field_cw = "公司,初_五大联赛_场,初_五大联赛_主,初_五大联赛_和,初_五大联赛_客,初_主胜_五,初_和局_五,初_客胜_五,初_历史_五"
field_cy = "公司,初_以甲_场,初_以甲_主,初_以甲_和,初_以甲_客,初_主胜_比,初_和局_比,初_客胜_比,初_历史_比"
field_jz = "公司,即_总计_场,即_总计_主,即_总计_和,即_总计_客,即_主胜_总,即_和局_总,即_客胜_总,即_历史_总"
field_jw = "公司,即_五大联赛_场,即_五大联赛_主,即_五大联赛_和,即_五大联赛_客,即_主胜_五,即_和局_五,即_客胜_五"
field_jy = "公司,即_以甲_场,即_以甲_主,即_以甲_和,即_以甲_客,即_主胜_比,即_和局_比,即_客胜_比,即_历史_比"
class Supervise_Main(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(Supervise_Main, self).__init__(parent)
self.setupUi(self)
self.model = QStandardItemModel(0, 11)
self.model.setHorizontalHeaderLabels(['赛事', '时间', '主队', '客队', '', '', '初主平', '初和平', '初客平', '即主平', '即和平', '即客平'])
self.model1 = QStandardItemModel(0, 9)
self.model1.setHorizontalHeaderLabels(title_cz)
self.init_ui()
def init_ui(self):
self.search_result_team.setModel(self.model)
self.search_result_team.setColumnWidth(0, 55)
self.search_result_team.setColumnWidth(1, 55)
self.search_result_team.setColumnWidth(4, 26)
self.search_result_team.setColumnWidth(5, 26)
self.search_result_team.setColumnWidth(6, 43)
self.search_result_team.setColumnWidth(7, 43)
self.search_result_team.setColumnWidth(8, 43)
self.search_result_team.setColumnWidth(9, 43)
self.search_result_team.setColumnWidth(10, 43)
self.search_result_team.setColumnWidth(11, 43)
# self.search_result_team.horizontalHeader().setStretchLastSection(True)
# self.search_result_team.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.search_result_team.setColumnWidth(0, 60)
self.search_result_data.setModel(self.model1)
self.search_result_data.horizontalHeader().setStretchLastSection(True)
# self.search_result_data.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.search_result_data.setColumnWidth(0, 120)
self.search_result_data.setColumnWidth(1, 60)
self.search_result_data.setColumnWidth(2, 60)
self.search_result_data.setColumnWidth(3, 60)
self.search_result_data.setColumnWidth(4, 60)
self.search_result_data.setColumnWidth(5, 60)
self.search_result_data.setColumnWidth(6, 60)
self.search_result_data.setColumnWidth(7, 60)
self.search_result_data.setColumnWidth(8, 60)
self.search_result_data.setColumnWidth(9, 65)
self.search_result_data.setColumnWidth(10, 65)
self.search_result_data.setColumnWidth(11, 65)
self.button_group = QButtonGroup()
self.button_group.addButton(self.radioButton_by_month)
self.button_group.addButton(self.radioButton_by_day)
self.radioButton_by_day.setChecked(True)
# self.month_comboBox.setEnabled(False)
self.spider = Spider(self)
self.spider.logsignal.connect(self.spider_log)
self.start_spider_btn.clicked.connect(self.start_spider)
self.start_search.clicked.connect(self.search_date)
self.c_z.clicked.connect(self.choose_match_cz)
self.c_w.clicked.connect(self.choose_match_cw)
self.c_y.clicked.connect(self.choose_match_cy)
self.j_z.clicked.connect(self.choose_match_jz)
self.j_w.clicked.connect(self.choose_match_jw)
self.j_y.clicked.connect(self.choose_match_jy)
def choose_match_cz(self):
self.model1.clear()
self.model1.setHorizontalHeaderLabels(title_cz)
self.search_result_data.horizontalHeader().setStretchLastSection(True)
# self.search_result_data.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.search_result_data.setColumnWidth(0, 120)
self.search_result_data.setColumnWidth(1, 60)
self.search_result_data.setColumnWidth(2, 60)
self.search_result_data.setColumnWidth(3, 60)
self.search_result_data.setColumnWidth(4, 60)
self.search_result_data.setColumnWidth(5, 60)
self.search_result_data.setColumnWidth(6, 60)
self.search_result_data.setColumnWidth(7, 60)
self.search_result_data.setColumnWidth(8, 60)
self.label_6.setText(str('<html><head/><body><p align="center"><span style=" font-size:12pt; font-weight:600; color:#00aa00;">初始总计数据</span></p></body></html>'))
self.c_home_result.clear()
self.c_hanld_result.clear()
self.c_away_result.clear()
self.j_home_result.clear()
self.j_hanld_result.clear()
self.j_away_result.clear()
try:
row = self.search_result_team.currentIndex().row()
# column = self.search_result_team.currentIndex().column()
season = self.model.data(self.model.index(row, 0))
match_time = self.search_date_1 + ' ' + self.model.data(self.model.index(row, 1))
# match_time = self.model.data(self.model.index(row, 1))
home_team = self.model.data(self.model.index(row, 2))
away_team = self.model.data(self.model.index(row, 3))
self.home_team.setText(str('<html><head/><body><p align="right"><span style=" font-weight:600; color:#ff5500;">{0}</span></p></body></html>'.format(home_team)))
self.away_team.setText(str('<html><head/><body><p><span style=" font-weight:600; color:#5555ff;">{0}</span></p></body></html>'.format(away_team)))
self.season.setText(str('<html><head/><body><p align="right"><span style=" font-size:8pt;">{0}</span></p></body></html>'.format(season)))
self.game_time.setText((str('<html><head/><body><p><span style=" font-size:8pt;">{0}</span></p></body></html>'.format(match_time))))
sql_temp = """SELECT DISTINCT DISTINCT {4} FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql = sql_temp.format(season, match_time, home_team, away_team, field_cz)
print(sql)
res = self.mysql_conn(sql=sql)
# print(res)
length = len(res)
self.home_team_2.setText(str('<html><head/><body><p><span style=" font-size:10pt; font-weight:600; color:#ff0000;">公司总数:{0}</span></p></body></html>'.format(str(length))))
for temp in res:
self.model1.appendRow([QStandardItem(str(i)) for i in temp])
sql_c_h = """SELECT DISTINCT AVG(初_主胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_c_c = """SELECT DISTINCT AVG(初_和局_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_c_a = """SELECT DISTINCT AVG(初_客胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_j_h = """SELECT DISTINCT AVG(即_主胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_j_c = """SELECT DISTINCT AVG(即_和局_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_j_a = """SELECT DISTINCT AVG(即_客胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
try:
c_h = float('%.2f' % float(self.mysql_conn(sql=sql_c_h.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_h = 0
try:
c_c = float('%.2f' % float(self.mysql_conn(sql=sql_c_c.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_c = 0
try:
c_a = float('%.2f' % float(self.mysql_conn(sql=sql_c_a.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_a = 0
try:
j_h = float('%.2f' % float(self.mysql_conn(sql=sql_j_h.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_h = 0
try:
j_c = float('%.2f' % float(self.mysql_conn(sql=sql_j_c.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_c = 0
try:
j_a = float('%.2f' % float(self.mysql_conn(sql=sql_j_a.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_a = 0
sql_c_h_w = """SELECT DISTINCT AVG(初_主胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_c_c_w = """SELECT DISTINCT AVG(初_和局_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_c_a_w = """SELECT DISTINCT AVG(初_客胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_j_h_w = """SELECT DISTINCT AVG(即_主胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_j_c_w = """SELECT DISTINCT AVG(即_和局_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_j_a_w = """SELECT DISTINCT AVG(即_客胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
try:
c_h_w = float('%.2f' % float(self.mysql_conn(sql=sql_c_h_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_h_w = 0
try:
c_c_w = float('%.2f' % float(self.mysql_conn(sql=sql_c_c_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_c_w = 0
try:
c_a_w = float('%.2f' % float(self.mysql_conn(sql=sql_c_a_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_a_w = 0
try:
j_h_w = float('%.2f' % float(self.mysql_conn(sql=sql_j_h_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_h_w = 0
try:
j_c_w = float('%.2f' % float(self.mysql_conn(sql=sql_j_c_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_c_w = 0
try:
j_a_w = float('%.2f' % float(self.mysql_conn(sql=sql_j_a_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_a_w = 0
sql_c_h_b = """SELECT DISTINCT AVG(初_主胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_c_c_b = """SELECT DISTINCT AVG(初_和局_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_c_a_b = """SELECT DISTINCT AVG(初_客胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_j_h_b = """SELECT DISTINCT AVG(即_主胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_j_c_b = """SELECT DISTINCT AVG(即_和局_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_j_a_b = """SELECT DISTINCT AVG(即_客胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
try:
c_h_b = float('%.2f' % float(self.mysql_conn(sql=sql_c_h_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_h_b = 0
try:
c_c_b = float('%.2f' % float(self.mysql_conn(sql=sql_c_c_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_c_b = 0
try:
c_a_b = float('%.2f' % float(self.mysql_conn(sql=sql_c_a_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_a_b = 0
try:
j_h_b = float('%.2f' % float(self.mysql_conn(sql=sql_j_h_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_h_b = 0
try:
j_c_b = float('%.2f' % float(self.mysql_conn(sql=sql_j_c_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_c_b = 0
try:
j_a_b = float('%.2f' % float(self.mysql_conn(sql=sql_j_a_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_a_b = 0
# print(c_h, type(c_h))
self.c_home_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_h)))
self.c_hanld_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_c)))
self.c_away_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_a)))
self.j_home_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_h)))
self.j_hanld_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_c)))
self.j_away_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_a)))
self.c_home_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_h_w)))
self.c_hanld_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_c_w)))
self.c_away_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_a_w)))
self.j_home_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_h_w)))
self.j_hanld_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_c_w)))
self.j_away_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_a_w)))
self.c_home_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_h_b)))
self.c_hanld_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_c_b)))
self.c_away_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_a_b)))
self.j_home_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_h_b)))
self.j_hanld_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_c_b)))
self.j_away_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_a_b)))
except Exception as e:
QMessageBox.critical(self, '查看详细数据', '查看详细数据出错:\n错误原因:' + str(e) + '\n检查是否提前查询数据',
QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
return
def choose_match_cw(self):
self.model1.clear()
self.model1.setHorizontalHeaderLabels(title_cw)
self.search_result_data.horizontalHeader().setStretchLastSection(True)
# self.search_result_data.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.search_result_data.setColumnWidth(0, 120)
self.search_result_data.setColumnWidth(1, 80)
self.search_result_data.setColumnWidth(2, 80)
self.search_result_data.setColumnWidth(3, 80)
self.search_result_data.setColumnWidth(4, 80)
self.search_result_data.setColumnWidth(5, 55)
self.search_result_data.setColumnWidth(6, 55)
self.search_result_data.setColumnWidth(7, 55)
self.search_result_data.setColumnWidth(8, 55)
self.label_6.setText(str('<html><head/><body><p align="center"><span style=" font-size:12pt; font-weight:600; color:#00aa00;">初始五大联赛数据</span></p></body></html>'))
self.c_home_result.clear()
self.c_hanld_result.clear()
self.c_away_result.clear()
self.j_home_result.clear()
self.j_hanld_result.clear()
self.j_away_result.clear()
try:
row = self.search_result_team.currentIndex().row()
# column = self.search_result_team.currentIndex().column()
season = self.model.data(self.model.index(row, 0))
match_time = self.search_date_1 + ' ' + self.model.data(self.model.index(row, 1))
home_team = self.model.data(self.model.index(row, 2))
away_team = self.model.data(self.model.index(row, 3))
self.home_team.setText(str('<html><head/><body><p align="right"><span style=" font-weight:600; color:#ff5500;">{0}</span></p></body></html>'.format(home_team)))
self.away_team.setText(str('<html><head/><body><p><span style=" font-weight:600; color:#5555ff;">{0}</span></p></body></html>'.format(away_team)))
self.season.setText(str('<html><head/><body><p align="right"><span style=" font-size:8pt;">{0}</span></p></body></html>'.format(season)))
self.game_time.setText((str('<html><head/><body><p><span style=" font-size:8pt;">{0}</span></p></body></html>'.format(match_time))))
sql_temp = """SELECT DISTINCT {4} FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql = sql_temp.format(season, match_time, home_team, away_team, field_cw)
print(sql)
res = self.mysql_conn(sql=sql)
print(res)
length = len(res)
self.home_team_2.setText(str('<html><head/><body><p><span style=" font-size:10pt; font-weight:600; color:#ff0000;">公司总数:{0}</span></p></body></html>'.format(str(length))))
for temp in res:
self.model1.appendRow([QStandardItem(str(i)) for i in temp])
sql_c_h = """SELECT DISTINCT AVG(初_主胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_c_c = """SELECT DISTINCT AVG(初_和局_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_c_a = """SELECT DISTINCT AVG(初_客胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_j_h = """SELECT DISTINCT AVG(即_主胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_j_c = """SELECT DISTINCT AVG(即_和局_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_j_a = """SELECT DISTINCT AVG(即_客胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
c_h = float('%.2f' % float(self.mysql_conn(sql=sql_c_h.format(season, match_time, home_team, away_team))[0][0]))
c_c = float('%.2f' % float(self.mysql_conn(sql=sql_c_c.format(season, match_time, home_team, away_team))[0][0]))
c_a = float('%.2f' % float(self.mysql_conn(sql=sql_c_a.format(season, match_time, home_team, away_team))[0][0]))
j_h = float('%.2f' % float(self.mysql_conn(sql=sql_j_h.format(season, match_time, home_team, away_team))[0][0]))
j_c = float('%.2f' % float(self.mysql_conn(sql=sql_j_c.format(season, match_time, home_team, away_team))[0][0]))
j_a = float('%.2f' % float(self.mysql_conn(sql=sql_j_a.format(season, match_time, home_team, away_team))[0][0]))
sql_c_h_w = """SELECT DISTINCT AVG(初_主胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_c_c_w = """SELECT DISTINCT AVG(初_和局_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_c_a_w = """SELECT DISTINCT AVG(初_客胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_j_h_w = """SELECT DISTINCT AVG(即_主胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_j_c_w = """SELECT DISTINCT AVG(即_和局_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_j_a_w = """SELECT DISTINCT AVG(即_客胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
print(sql_c_h_w.format(season, match_time, home_team, away_team))
try:
c_h_w = float('%.2f' % float(self.mysql_conn(sql=sql_c_h_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_h_w = 0
try:
c_c_w = float('%.2f' % float(self.mysql_conn(sql=sql_c_c_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_c_w = 0
try:
c_a_w = float('%.2f' % float(self.mysql_conn(sql=sql_c_a_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_a_w = 0
try:
j_h_w = float('%.2f' % float(self.mysql_conn(sql=sql_j_h_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_h_w = 0
try:
j_c_w = float('%.2f' % float(self.mysql_conn(sql=sql_j_c_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_c_w = 0
try:
j_a_w = float('%.2f' % float(self.mysql_conn(sql=sql_j_a_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_a_w = 0
sql_c_h_b = """SELECT DISTINCT AVG(初_主胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_c_c_b = """SELECT DISTINCT AVG(初_和局_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_c_a_b = """SELECT DISTINCT AVG(初_客胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_j_h_b = """SELECT DISTINCT AVG(即_主胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_j_c_b = """SELECT DISTINCT AVG(即_和局_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_j_a_b = """SELECT DISTINCT AVG(即_客胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
try:
c_h_b = float('%.2f' % float(self.mysql_conn(sql=sql_c_h_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_h_b = 0
try:
c_c_b = float('%.2f' % float(self.mysql_conn(sql=sql_c_c_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_c_b = 0
try:
c_a_b = float('%.2f' % float(self.mysql_conn(sql=sql_c_a_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_a_b = 0
try:
j_h_b = float('%.2f' % float(self.mysql_conn(sql=sql_j_h_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_h_b = 0
try:
j_c_b = float('%.2f' % float(self.mysql_conn(sql=sql_j_c_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_c_b = 0
try:
j_a_b = float('%.2f' % float(self.mysql_conn(sql=sql_j_a_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_a_b = 0
# print(c_h, type(c_h))
self.c_home_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_h)))
self.c_hanld_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_c)))
self.c_away_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_a)))
self.j_home_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_h)))
self.j_hanld_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_c)))
self.j_away_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_a)))
self.c_home_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_h_w)))
self.c_hanld_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_c_w)))
self.c_away_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_a_w)))
self.j_home_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_h_w)))
self.j_hanld_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_c_w)))
self.j_away_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_a_w)))
self.c_home_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_h_b)))
self.c_hanld_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_c_b)))
self.c_away_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_a_b)))
self.j_home_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_h_b)))
self.j_hanld_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_c_b)))
self.j_away_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_a_b)))
except Exception as e:
QMessageBox.critical(self, '查看详细数据', '查看详细数据出错:\n错误原因:' + str(e) + '\n检查是否提前查询数据',
QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
return
def choose_match_cy(self):
self.model1.clear()
self.model1.setHorizontalHeaderLabels(title_cy)
self.search_result_data.horizontalHeader().setStretchLastSection(True)
# self.search_result_data.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.search_result_data.setColumnWidth(0, 120)
self.search_result_data.setColumnWidth(1, 60)
self.search_result_data.setColumnWidth(2, 60)
self.search_result_data.setColumnWidth(3, 60)
self.search_result_data.setColumnWidth(4, 60)
self.search_result_data.setColumnWidth(5, 60)
self.search_result_data.setColumnWidth(6, 60)
self.search_result_data.setColumnWidth(7, 60)
self.search_result_data.setColumnWidth(8, 60)
self.label_6.setText(str('<html><head/><body><p align="center"><span style=" font-size:12pt; font-weight:600; color:#00aa00;">初始以甲数据</span></p></body></html>'))
self.c_home_result.clear()
self.c_hanld_result.clear()
self.c_away_result.clear()
self.j_home_result.clear()
self.j_hanld_result.clear()
self.j_away_result.clear()
try:
row = self.search_result_team.currentIndex().row()
# column = self.search_result_team.currentIndex().column()
season = self.model.data(self.model.index(row, 0))
match_time = self.search_date_1 + ' ' + self.model.data(self.model.index(row, 1))
home_team = self.model.data(self.model.index(row, 2))
away_team = self.model.data(self.model.index(row, 3))
self.home_team.setText(str('<html><head/><body><p align="right"><span style=" font-weight:600; color:#ff5500;">{0}</span></p></body></html>'.format(home_team)))
self.away_team.setText(str('<html><head/><body><p><span style=" font-weight:600; color:#5555ff;">{0}</span></p></body></html>'.format(away_team)))
self.season.setText(str('<html><head/><body><p align="right"><span style=" font-size:8pt;">{0}</span></p></body></html>'.format(season)))
self.game_time.setText((str('<html><head/><body><p><span style=" font-size:8pt;">{0}</span></p></body></html>'.format(match_time))))
sql_temp = """SELECT DISTINCT {4} FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql = sql_temp.format(season, match_time, home_team, away_team, field_cy)
# print(sql)
res = self.mysql_conn(sql=sql)
# print(res)
length = len(res)
self.home_team_2.setText(str('<html><head/><body><p><span style=" font-size:10pt; font-weight:600; color:#ff0000;">公司总数:{0}</span></p></body></html>'.format(str(length))))
for temp in res:
self.model1.appendRow([QStandardItem(str(i)) for i in temp])
sql_c_h = """SELECT DISTINCT AVG(初_主胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_c_c = """SELECT DISTINCT AVG(初_和局_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_c_a = """SELECT DISTINCT AVG(初_客胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_j_h = """SELECT DISTINCT AVG(即_主胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_j_c = """SELECT DISTINCT AVG(即_和局_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_j_a = """SELECT DISTINCT AVG(即_客胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
c_h = float('%.2f' % float(self.mysql_conn(sql=sql_c_h.format(season, match_time, home_team, away_team))[0][0]))
c_c = float('%.2f' % float(self.mysql_conn(sql=sql_c_c.format(season, match_time, home_team, away_team))[0][0]))
c_a = float('%.2f' % float(self.mysql_conn(sql=sql_c_a.format(season, match_time, home_team, away_team))[0][0]))
j_h = float('%.2f' % float(self.mysql_conn(sql=sql_j_h.format(season, match_time, home_team, away_team))[0][0]))
j_c = float('%.2f' % float(self.mysql_conn(sql=sql_j_c.format(season, match_time, home_team, away_team))[0][0]))
j_a = float('%.2f' % float(self.mysql_conn(sql=sql_j_a.format(season, match_time, home_team, away_team))[0][0]))
sql_c_h_w = """SELECT DISTINCT AVG(初_主胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_c_c_w = """SELECT DISTINCT AVG(初_和局_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_c_a_w = """SELECT DISTINCT AVG(初_客胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_j_h_w = """SELECT DISTINCT AVG(即_主胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_j_c_w = """SELECT DISTINCT AVG(即_和局_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_j_a_w = """SELECT DISTINCT AVG(即_客胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
try:
c_h_w = float('%.2f' % float(self.mysql_conn(sql=sql_c_h_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_h_w = 0
try:
c_c_w = float('%.2f' % float(self.mysql_conn(sql=sql_c_c_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_c_w = 0
try:
c_a_w = float('%.2f' % float(self.mysql_conn(sql=sql_c_a_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_a_w = 0
try:
j_h_w = float('%.2f' % float(self.mysql_conn(sql=sql_j_h_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_h_w = 0
try:
j_c_w = float('%.2f' % float(self.mysql_conn(sql=sql_j_c_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_c_w = 0
try:
j_a_w = float('%.2f' % float(self.mysql_conn(sql=sql_j_a_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_a_w = 0
sql_c_h_b = """SELECT DISTINCT AVG(初_主胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_c_c_b = """SELECT DISTINCT AVG(初_和局_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_c_a_b = """SELECT DISTINCT AVG(初_客胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_j_h_b = """SELECT DISTINCT AVG(即_主胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_j_c_b = """SELECT DISTINCT AVG(即_和局_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_j_a_b = """SELECT DISTINCT AVG(即_客胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
try:
c_h_b = float('%.2f' % float(self.mysql_conn(sql=sql_c_h_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_h_b = 0
try:
c_c_b = float('%.2f' % float(self.mysql_conn(sql=sql_c_c_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_c_b = 0
try:
c_a_b = float('%.2f' % float(self.mysql_conn(sql=sql_c_a_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_a_b = 0
try:
j_h_b = float('%.2f' % float(self.mysql_conn(sql=sql_j_h_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_h_b = 0
try:
j_c_b = float('%.2f' % float(self.mysql_conn(sql=sql_j_c_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_c_b = 0
try:
j_a_b = float('%.2f' % float(self.mysql_conn(sql=sql_j_a_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_a_b = 0
# print(c_h, type(c_h))
self.c_home_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_h)))
self.c_hanld_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_c)))
self.c_away_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_a)))
self.j_home_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_h)))
self.j_hanld_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_c)))
self.j_away_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_a)))
self.c_home_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_h_w)))
self.c_hanld_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_c_w)))
self.c_away_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_a_w)))
self.j_home_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_h_w)))
self.j_hanld_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_c_w)))
self.j_away_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_a_w)))
self.c_home_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_h_b)))
self.c_hanld_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_c_b)))
self.c_away_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_a_b)))
self.j_home_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_h_b)))
self.j_hanld_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_c_b)))
self.j_away_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_a_b)))
except Exception as e:
QMessageBox.critical(self, '查看详细数据', '查看详细数据出错:\n错误原因:' + str(e) + '\n检查是否提前查询数据',
QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
return
def choose_match_jz(self):
self.model1.clear()
self.model1.setHorizontalHeaderLabels(title_jz)
self.search_result_data.horizontalHeader().setStretchLastSection(True)
# self.search_result_data.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.search_result_data.setColumnWidth(0, 120)
self.search_result_data.setColumnWidth(1, 60)
self.search_result_data.setColumnWidth(2, 60)
self.search_result_data.setColumnWidth(3, 60)
self.search_result_data.setColumnWidth(4, 60)
self.search_result_data.setColumnWidth(5, 60)
self.search_result_data.setColumnWidth(6, 60)
self.search_result_data.setColumnWidth(7, 60)
self.search_result_data.setColumnWidth(8, 60)
self.label_6.setText(str('<html><head/><body><p align="center"><span style=" font-size:12pt; font-weight:600; color:#00aa00;">即时总计数据</span></p></body></html>'))
self.c_home_result.clear()
self.c_hanld_result.clear()
self.c_away_result.clear()
self.j_home_result.clear()
self.j_hanld_result.clear()
self.j_away_result.clear()
try:
row = self.search_result_team.currentIndex().row()
# column = self.search_result_team.currentIndex().column()
season = self.model.data(self.model.index(row, 0))
match_time = self.search_date_1 + ' ' + self.model.data(self.model.index(row, 1))
home_team = self.model.data(self.model.index(row, 2))
away_team = self.model.data(self.model.index(row, 3))
self.home_team.setText(str('<html><head/><body><p align="right"><span style=" font-weight:600; color:#ff5500;">{0}</span></p></body></html>'.format(home_team)))
self.away_team.setText(str('<html><head/><body><p><span style=" font-weight:600; color:#5555ff;">{0}</span></p></body></html>'.format(away_team)))
self.season.setText(str('<html><head/><body><p align="right"><span style=" font-size:8pt;">{0}</span></p></body></html>'.format(season)))
self.game_time.setText((str('<html><head/><body><p><span style=" font-size:8pt;">{0}</span></p></body></html>'.format(match_time))))
sql_temp = """SELECT DISTINCT {4} FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql = sql_temp.format(season, match_time, home_team, away_team, field_jz)
# print(sql)
res = self.mysql_conn(sql=sql)
# print(res)
length = len(res)
self.home_team_2.setText(str('<html><head/><body><p><span style=" font-size:10pt; font-weight:600; color:#ff0000;">公司总数:{0}</span></p></body></html>'.format(str(length))))
for temp in res:
self.model1.appendRow([QStandardItem(str(i)) for i in temp])
sql_c_h = """SELECT DISTINCT AVG(初_主胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_c_c = """SELECT DISTINCT AVG(初_和局_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_c_a = """SELECT DISTINCT AVG(初_客胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_j_h = """SELECT DISTINCT AVG(即_主胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_j_c = """SELECT DISTINCT AVG(即_和局_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_j_a = """SELECT DISTINCT AVG(即_客胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
c_h = float('%.2f' % float(self.mysql_conn(sql=sql_c_h.format(season, match_time, home_team, away_team))[0][0]))
c_c = float('%.2f' % float(self.mysql_conn(sql=sql_c_c.format(season, match_time, home_team, away_team))[0][0]))
c_a = float('%.2f' % float(self.mysql_conn(sql=sql_c_a.format(season, match_time, home_team, away_team))[0][0]))
j_h = float('%.2f' % float(self.mysql_conn(sql=sql_j_h.format(season, match_time, home_team, away_team))[0][0]))
j_c = float('%.2f' % float(self.mysql_conn(sql=sql_j_c.format(season, match_time, home_team, away_team))[0][0]))
j_a = float('%.2f' % float(self.mysql_conn(sql=sql_j_a.format(season, match_time, home_team, away_team))[0][0]))
sql_c_h_w = """SELECT DISTINCT AVG(初_主胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_c_c_w = """SELECT DISTINCT AVG(初_和局_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_c_a_w = """SELECT DISTINCT AVG(初_客胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_j_h_w = """SELECT DISTINCT AVG(即_主胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_j_c_w = """SELECT DISTINCT AVG(即_和局_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_j_a_w = """SELECT DISTINCT AVG(即_客胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
try:
c_h_w = float('%.2f' % float(self.mysql_conn(sql=sql_c_h_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_h_w = 0
try:
c_c_w = float('%.2f' % float(self.mysql_conn(sql=sql_c_c_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_c_w = 0
try:
c_a_w = float('%.2f' % float(self.mysql_conn(sql=sql_c_a_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_a_w = 0
try:
j_h_w = float('%.2f' % float(self.mysql_conn(sql=sql_j_h_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_h_w = 0
try:
j_c_w = float('%.2f' % float(self.mysql_conn(sql=sql_j_c_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_c_w = 0
try:
j_a_w = float('%.2f' % float(self.mysql_conn(sql=sql_j_a_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_a_w = 0
sql_c_h_b = """SELECT DISTINCT AVG(初_主胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_c_c_b = """SELECT DISTINCT AVG(初_和局_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_c_a_b = """SELECT DISTINCT AVG(初_客胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_j_h_b = """SELECT DISTINCT AVG(即_主胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_j_c_b = """SELECT DISTINCT AVG(即_和局_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_j_a_b = """SELECT DISTINCT AVG(即_客胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
try:
c_h_b = float('%.2f' % float(self.mysql_conn(sql=sql_c_h_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_h_b = 0
try:
c_c_b = float('%.2f' % float(self.mysql_conn(sql=sql_c_c_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_c_b = 0
try:
c_a_b = float('%.2f' % float(self.mysql_conn(sql=sql_c_a_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_a_b = 0
try:
j_h_b = float('%.2f' % float(self.mysql_conn(sql=sql_j_h_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_h_b = 0
try:
j_c_b = float('%.2f' % float(self.mysql_conn(sql=sql_j_c_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_c_b = 0
try:
j_a_b = float('%.2f' % float(self.mysql_conn(sql=sql_j_a_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_a_b = 0
# print(c_h, type(c_h))
self.c_home_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_h)))
self.c_hanld_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_c)))
self.c_away_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_a)))
self.j_home_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_h)))
self.j_hanld_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_c)))
self.j_away_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_a)))
self.c_home_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_h_w)))
self.c_hanld_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_c_w)))
self.c_away_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_a_w)))
self.j_home_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_h_w)))
self.j_hanld_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_c_w)))
self.j_away_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_a_w)))
self.c_home_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_h_b)))
self.c_hanld_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_c_b)))
self.c_away_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_a_b)))
self.j_home_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_h_b)))
self.j_hanld_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_c_b)))
self.j_away_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_a_b)))
except Exception as e:
QMessageBox.critical(self, '查看详细数据', '查看详细数据出错:\n错误原因:' + str(e) + '\n检查是否提前查询数据',
QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
return
def choose_match_jw(self):
self.model1.clear()
self.model1.setHorizontalHeaderLabels(title_jw)
self.search_result_data.horizontalHeader().setStretchLastSection(True)
# self.search_result_data.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.search_result_data.setColumnWidth(0, 120)
self.search_result_data.setColumnWidth(1, 80)
self.search_result_data.setColumnWidth(2, 80)
self.search_result_data.setColumnWidth(3, 80)
self.search_result_data.setColumnWidth(4, 80)
self.search_result_data.setColumnWidth(5, 55)
self.search_result_data.setColumnWidth(6, 55)
self.search_result_data.setColumnWidth(7, 55)
self.search_result_data.setColumnWidth(8, 55)
self.label_6.setText(str('<html><head/><body><p align="center"><span style=" font-size:12pt; font-weight:600; color:#00aa00;">即时五大联赛数据</span></p></body></html>'))
self.c_home_result.clear()
self.c_hanld_result.clear()
self.c_away_result.clear()
self.j_home_result.clear()
self.j_hanld_result.clear()
self.j_away_result.clear()
try:
row = self.search_result_team.currentIndex().row()
# column = self.search_result_team.currentIndex().column()
season = self.model.data(self.model.index(row, 0))
match_time = self.search_date_1 + ' ' + self.model.data(self.model.index(row, 1))
home_team = self.model.data(self.model.index(row, 2))
away_team = self.model.data(self.model.index(row, 3))
self.home_team.setText(str('<html><head/><body><p align="right"><span style=" font-weight:600; color:#ff5500;">{0}</span></p></body></html>'.format(home_team)))
self.away_team.setText(str('<html><head/><body><p><span style=" font-weight:600; color:#5555ff;">{0}</span></p></body></html>'.format(away_team)))
self.season.setText(str('<html><head/><body><p align="right"><span style=" font-size:8pt;">{0}</span></p></body></html>'.format(season)))
self.game_time.setText((str('<html><head/><body><p><span style=" font-size:8pt;">{0}</span></p></body></html>'.format(match_time))))
sql_temp = """SELECT DISTINCT {4} FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql = sql_temp.format(season, match_time, home_team, away_team, field_jw)
# print(sql)
res = self.mysql_conn(sql=sql)
print(res)
length = len(res)
self.home_team_2.setText(str('<html><head/><body><p><span style=" font-size:10pt; font-weight:600; color:#ff0000;">公司总数:{0}</span></p></body></html>'.format(str(length))))
for temp in res:
self.model1.appendRow([QStandardItem(str(i)) for i in temp])
sql_c_h = """SELECT DISTINCT AVG(初_主胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_c_c = """SELECT DISTINCT AVG(初_和局_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_c_a = """SELECT DISTINCT AVG(初_客胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_j_h = """SELECT DISTINCT AVG(即_主胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_j_c = """SELECT DISTINCT AVG(即_和局_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_j_a = """SELECT DISTINCT AVG(即_客胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
c_h = float('%.2f' % float(self.mysql_conn(sql=sql_c_h.format(season, match_time, home_team, away_team))[0][0]))
c_c = float('%.2f' % float(self.mysql_conn(sql=sql_c_c.format(season, match_time, home_team, away_team))[0][0]))
c_a = float('%.2f' % float(self.mysql_conn(sql=sql_c_a.format(season, match_time, home_team, away_team))[0][0]))
j_h = float('%.2f' % float(self.mysql_conn(sql=sql_j_h.format(season, match_time, home_team, away_team))[0][0]))
j_c = float('%.2f' % float(self.mysql_conn(sql=sql_j_c.format(season, match_time, home_team, away_team))[0][0]))
j_a = float('%.2f' % float(self.mysql_conn(sql=sql_j_a.format(season, match_time, home_team, away_team))[0][0]))
sql_c_h_w = """SELECT DISTINCT AVG(初_主胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_c_c_w = """SELECT DISTINCT AVG(初_和局_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_c_a_w = """SELECT DISTINCT AVG(初_客胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_j_h_w = """SELECT DISTINCT AVG(即_主胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_j_c_w = """SELECT DISTINCT AVG(即_和局_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_j_a_w = """SELECT DISTINCT AVG(即_客胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
try:
c_h_w = float('%.2f' % float(self.mysql_conn(sql=sql_c_h_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_h_w = 0
try:
c_c_w = float('%.2f' % float(self.mysql_conn(sql=sql_c_c_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_c_w = 0
try:
c_a_w = float('%.2f' % float(self.mysql_conn(sql=sql_c_a_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_a_w = 0
try:
j_h_w = float('%.2f' % float(self.mysql_conn(sql=sql_j_h_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_h_w = 0
try:
j_c_w = float('%.2f' % float(self.mysql_conn(sql=sql_j_c_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_c_w = 0
try:
j_a_w = float('%.2f' % float(self.mysql_conn(sql=sql_j_a_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_a_w = 0
sql_c_h_b = """SELECT DISTINCT AVG(初_主胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_c_c_b = """SELECT DISTINCT AVG(初_和局_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_c_a_b = """SELECT DISTINCT AVG(初_客胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_j_h_b = """SELECT DISTINCT AVG(即_主胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_j_c_b = """SELECT DISTINCT AVG(即_和局_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_j_a_b = """SELECT DISTINCT AVG(即_客胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
try:
c_h_b = float('%.2f' % float(self.mysql_conn(sql=sql_c_h_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_h_b = 0
try:
c_c_b = float('%.2f' % float(self.mysql_conn(sql=sql_c_c_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_c_b = 0
try:
c_a_b = float('%.2f' % float(self.mysql_conn(sql=sql_c_a_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_a_b = 0
try:
j_h_b = float('%.2f' % float(self.mysql_conn(sql=sql_j_h_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_h_b = 0
try:
j_c_b = float('%.2f' % float(self.mysql_conn(sql=sql_j_c_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_c_b = 0
try:
j_a_b = float('%.2f' % float(self.mysql_conn(sql=sql_j_a_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_a_b = 0
# print(c_h, type(c_h))
self.c_home_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_h)))
self.c_hanld_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_c)))
self.c_away_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_a)))
self.j_home_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_h)))
self.j_hanld_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_c)))
self.j_away_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_a)))
self.c_home_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_h_w)))
self.c_hanld_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_c_w)))
self.c_away_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_a_w)))
self.j_home_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_h_w)))
self.j_hanld_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_c_w)))
self.j_away_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_a_w)))
self.c_home_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_h_b)))
self.c_hanld_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_c_b)))
self.c_away_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_a_b)))
self.j_home_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_h_b)))
self.j_hanld_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_c_b)))
self.j_away_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_a_b)))
except Exception as e:
QMessageBox.critical(self, '查看详细数据', '查看详细数据出错:\n错误原因:' + str(e) + '\n检查是否提前查询数据',
QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
return
def choose_match_jy(self):
self.model1.clear()
self.model1.setHorizontalHeaderLabels(title_jy)
self.search_result_data.horizontalHeader().setStretchLastSection(True)
# self.search_result_data.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.search_result_data.setColumnWidth(0, 120)
self.search_result_data.setColumnWidth(1, 60)
self.search_result_data.setColumnWidth(2, 60)
self.search_result_data.setColumnWidth(3, 60)
self.search_result_data.setColumnWidth(4, 60)
self.search_result_data.setColumnWidth(5, 60)
self.search_result_data.setColumnWidth(6, 60)
self.search_result_data.setColumnWidth(7, 60)
self.search_result_data.setColumnWidth(8, 60)
self.label_6.setText(str('<html><head/><body><p align="center"><span style=" font-size:12pt; font-weight:600; color:#00aa00;">即时比赛数据</span></p></body></html>'))
self.c_home_result.clear()
self.c_hanld_result.clear()
self.c_away_result.clear()
self.j_home_result.clear()
self.j_hanld_result.clear()
self.j_away_result.clear()
try:
row = self.search_result_team.currentIndex().row()
# column = self.search_result_team.currentIndex().column()
season = self.model.data(self.model.index(row, 0))
match_time = self.search_date_1 + ' ' + self.model.data(self.model.index(row, 1))
home_team = self.model.data(self.model.index(row, 2))
away_team = self.model.data(self.model.index(row, 3))
self.home_team.setText(str('<html><head/><body><p align="right"><span style=" font-weight:600; color:#ff5500;">{0}</span></p></body></html>'.format(home_team)))
self.away_team.setText(str('<html><head/><body><p><span style=" font-weight:600; color:#5555ff;">{0}</span></p></body></html>'.format(away_team)))
self.season.setText(str('<html><head/><body><p align="right"><span style=" font-size:8pt;">{0}</span></p></body></html>'.format(season)))
self.game_time.setText((str('<html><head/><body><p><span style=" font-size:8pt;">{0}</span></p></body></html>'.format(match_time))))
sql_temp = """SELECT DISTINCT {4} FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql = sql_temp.format(season, match_time, home_team, away_team, field_jy)
# print(sql)
res = self.mysql_conn(sql=sql)
# print(res)
length = len(res)
self.home_team_2.setText(str('<html><head/><body><p><span style=" font-size:10pt; font-weight:600; color:#ff0000;">公司总数:{0}</span></p></body></html>'.format(str(length))))
for temp in res:
self.model1.appendRow([QStandardItem(str(i)) for i in temp])
sql_c_h = """SELECT DISTINCT AVG(初_主胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_c_c = """SELECT DISTINCT AVG(初_和局_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_c_a = """SELECT DISTINCT AVG(初_客胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_j_h = """SELECT DISTINCT AVG(即_主胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_j_c = """SELECT DISTINCT AVG(即_和局_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
sql_j_a = """SELECT DISTINCT AVG(即_客胜_总) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_总='1' AND 即_赔率_总='1';"""
print(sql_c_h.format(season, match_time, home_team, away_team))
c_h = float('%.2f' % float(self.mysql_conn(sql=sql_c_h.format(season, match_time, home_team, away_team))[0][0]))
c_c = float('%.2f' % float(self.mysql_conn(sql=sql_c_c.format(season, match_time, home_team, away_team))[0][0]))
c_a = float('%.2f' % float(self.mysql_conn(sql=sql_c_a.format(season, match_time, home_team, away_team))[0][0]))
j_h = float('%.2f' % float(self.mysql_conn(sql=sql_j_h.format(season, match_time, home_team, away_team))[0][0]))
j_c = float('%.2f' % float(self.mysql_conn(sql=sql_j_c.format(season, match_time, home_team, away_team))[0][0]))
j_a = float('%.2f' % float(self.mysql_conn(sql=sql_j_a.format(season, match_time, home_team, away_team))[0][0]))
sql_c_h_w = """SELECT DISTINCT AVG(初_主胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_c_c_w = """SELECT DISTINCT AVG(初_和局_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_c_a_w = """SELECT DISTINCT AVG(初_客胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_j_h_w = """SELECT DISTINCT AVG(即_主胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_j_c_w = """SELECT DISTINCT AVG(即_和局_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
sql_j_a_w = """SELECT DISTINCT AVG(即_客胜_五) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_五='1' AND 即_赔率_五='1';"""
try:
c_h_w = float('%.2f' % float(self.mysql_conn(sql=sql_c_h_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_h_w = 0
try:
c_c_w = float('%.2f' % float(self.mysql_conn(sql=sql_c_c_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_c_w = 0
try:
c_a_w = float('%.2f' % float(self.mysql_conn(sql=sql_c_a_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_a_w = 0
try:
j_h_w = float('%.2f' % float(self.mysql_conn(sql=sql_j_h_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_h_w = 0
try:
j_c_w = float('%.2f' % float(self.mysql_conn(sql=sql_j_c_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_c_w = 0
try:
j_a_w = float('%.2f' % float(self.mysql_conn(sql=sql_j_a_w.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_a_w = 0
sql_c_h_b = """SELECT DISTINCT AVG(初_主胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_c_c_b = """SELECT DISTINCT AVG(初_和局_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_c_a_b = """SELECT DISTINCT AVG(初_客胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_j_h_b = """SELECT DISTINCT AVG(即_主胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_j_c_b = """SELECT DISTINCT AVG(即_和局_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
sql_j_a_b = """SELECT DISTINCT AVG(即_客胜_比) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' AND 初_赔率_比='1' AND 即_赔率_比='1';"""
try:
c_h_b = float('%.2f' % float(self.mysql_conn(sql=sql_c_h_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_h_b = 0
try:
c_c_b = float('%.2f' % float(self.mysql_conn(sql=sql_c_c_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_c_b = 0
try:
c_a_b = float('%.2f' % float(self.mysql_conn(sql=sql_c_a_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
c_a_b = 0
try:
j_h_b = float('%.2f' % float(self.mysql_conn(sql=sql_j_h_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_h_b = 0
try:
j_c_b = float('%.2f' % float(self.mysql_conn(sql=sql_j_c_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_c_b = 0
try:
j_a_b = float('%.2f' % float(self.mysql_conn(sql=sql_j_a_b.format(season, match_time, home_team, away_team))[0][0]))
except Exception:
j_a_b = 0
# print(c_h, type(c_h))
self.c_home_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_h)))
self.c_hanld_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_c)))
self.c_away_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_a)))
self.j_home_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_h)))
self.j_hanld_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_c)))
self.j_away_result.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_a)))
self.c_home_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_h_w)))
self.c_hanld_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_c_w)))
self.c_away_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_a_w)))
self.j_home_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_h_w)))
self.j_hanld_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_c_w)))
self.j_away_result_2.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_a_w)))
self.c_home_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_h_b)))
self.c_hanld_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_c_b)))
self.c_away_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(c_a_b)))
self.j_home_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_h_b)))
self.j_hanld_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_c_b)))
self.j_away_result_3.setText(str('<html><head/><body><p align="center">{0}%</p></body></html>'.format(j_a_b)))
except Exception as e:
QMessageBox.critical(self, '查看详细数据', '查看详细数据出错:\n错误原因:' + str(e) + '\n检查是否提前查询数据',
QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
return
def search_date(self):
self.model.clear()
self.model.setHorizontalHeaderLabels(['赛事', '时间', '主队', '客队', '', '', '初主', '初和', '初客', '即主', '即和', '即客'])
self.search_result_team.setColumnWidth(0, 55)
self.search_result_team.setColumnWidth(1, 55)
self.search_result_team.setColumnWidth(4, 26)
self.search_result_team.setColumnWidth(5, 26)
self.search_result_team.setColumnWidth(6, 43)
self.search_result_team.setColumnWidth(7, 43)
self.search_result_team.setColumnWidth(8, 43)
self.search_result_team.setColumnWidth(9, 43)
self.search_result_team.setColumnWidth(10, 43)
self.search_result_team.setColumnWidth(11, 43)
search_date = self.search_time.text()
if not re.match(r'^\d{4}-\d{1,2}-\d{1,2}$', search_date):
QMessageBox.critical(self, '搜索时间', '搜索时间格式出错2000-1-1或2000-01-01注意不要有空格',
QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
return
else:
date_list = search_date.split('-')
date_list[1] = date_list[1] if len(date_list[1]) == 2 else '0' + date_list[1]
date_list[2] = date_list[2] if len(date_list[2]) == 2 else '0' + date_list[2]
search_date_end = '-'.join(date_list)
date_list_s = date_list
date_list_s[2] = str(int(date_list_s[2]) + 1) if len(str(int(date_list_s[2]) + 1)) == 2 else '0' + str(int(date_list_s[2]) + 1)
search_date_str = '-'.join(date_list_s)
self.search_date_1 = search_date_end
# sql_temp = """SELECT DISTINCT DISTINCT 赛事类型, 时间, 主队, 客队, 全场比分, 半场比分 FROM win0168_data WHERE 时间 BETWEEN '{0} 12:00:00' AND '{1} 11:59:00' ORDER BY 时间 ASC;""".format(
# search_date_end, search_date_str)
sql_temp = """SELECT DISTINCT 赛事类型, 时间, 主队, 客队, 全场比分, 半场比分 FROM win0168_data WHERE 时间 LIKE '%{0}%' ORDER BY 时间 ASC;""".format(
search_date_end)
print(sql_temp)
res = self.mysql_conn(sql=sql_temp)
print(res)
sql_temp_avg = """SELECT DISTINCT 赛事类型, 时间, 主队, 客队, 全场比分, 半场比分, AVG(初_主队), AVG(初_盘口), AVG(初_客队), AVG(即_主队), AVG(即_盘口), AVG(即_客队) FROM win0168_data WHERE 赛事类型='{0}' AND 时间='{1}' AND 主队='{2}' AND 客队='{3}' ORDER BY 时间 ASC;;"""
for temp in res:
res_temp = self.mysql_conn(sql=sql_temp_avg.format(temp[0], str(temp[1]), temp[2], temp[3]))
res_temp_data = res_temp[0]
res_temp_data = list(res_temp_data)
res_temp_data[1] = str(res_temp_data[1]).split(' ')[1]
res_temp_data[6] = float('%.2f' %float(res_temp_data[6]))
res_temp_data[7] = float('%.2f' %float(res_temp_data[7]))
res_temp_data[8] = float('%.2f' %float(res_temp_data[8]))
res_temp_data[9] = float('%.2f' %float(res_temp_data[9]))
res_temp_data[10] = float('%.2f' %float(res_temp_data[10]))
res_temp_data[11] = float('%.2f' %float(res_temp_data[11]))
self.model.appendRow([QStandardItem(str(i)) for i in res_temp_data])
def spider_log(self, value):
self.spiderEdit.append(value)
def start_spider(self):
if self.radioButton_by_month.isChecked():
# self.month_comboBox.setEnabled(True)
year = self.spider_input_Edit.text()
if not re.match(r'^\d{4}$', year):
QMessageBox.critical(self, '年份输入', '年份输入格式错误2000注意不要有空格',
QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
return
else:
month = self.month_comboBox.currentText()
if month == '2':
date_list = ['{year}-{month}-{day}'.format(year=year, month=month, day=str(day)) for day in
range(1, 30)]
elif month in ['1', '3', '5', '7', '8', '10', '12']:
date_list = ['{year}-{month}-{day}'.format(year=year, month=month, day=str(day)) for day in
range(1, 32)]
else:
date_list = ['{year}-{month}-{day}'.format(year=year, month=month, day=str(day)) for day in
range(1, 31)]
elif self.radioButton_by_day.isChecked():
search_day = self.spider_input_Edit.text()
if not re.match(r'^\d{4}-\d{1,2}-\d{1,2}$', search_day):
QMessageBox.critical(self, '搜索日期', '搜索日期格式出错2000-1-1或者2000-01-01 注意不要有空格',
QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
return
else:
date_list = [search_day]
new_data = 1 if self.checkBox_include_new_data.isChecked() else 0
self.date_list = date_list
self.new_data = new_data
self.run_spider(date_list, new_data)
def run_spider(self, date_list=None, new_data=None):
date_list = date_list if date_list else self.date_list
new_data = new_data if new_data else self.new_data
self.spider_thread = threading.Thread(
target=self.spider.start_task,
args=[{'date_list': date_list, 'update_code': new_data}]
)
self.spider_thread.start()
# if new_data == 1:
# threading.Timer(600, self.run_spider)
def closeEvent(self, event):
sys.exit(app.exec_())
def mysql_conn(self, sql):
conn = pymysql.connect(
host=MYSQL_HOST,
port=MYSQL_PORT,
user=MYSQL_USER,
password=MYSQL_PWD,
database=MYSQL_DB,
charset=CHAR_SET
)
cur = conn.cursor()
if not cur:
# print(NameError, 'SQL Server Connect failed!')
return False
else:
cur.execute(sql)
result = cur.fetchall()
conn.commit()
conn.close()
return result
if __name__ == '__main__':
app = QApplication(sys.argv)
supervise = Supervise_Main()
supervise.show()
sys.exit(app.exec_())