| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- import json
- from datetime import datetime
- from datetime import date
- import itertools
- __author__ = 'ethereal'
- __mtime__ = '2019/3/29'
- # a = {'concede_size': {'3078257': {'concede_home_rule': ['-0/0.5', ''], 'concede_home': ['1.03', '0.00'], 'concede_guest_rule': ['+0/0.5', ''], 'concede_guest': ['0.81', '0.00'], 'half_concede_home_rule': '', 'half_concede_home': '', 'half_concede_guest_rule': '', 'half_concede_guest': '', 'size_home_rule': ['6', '5.5/6'], 'size_home': ['0.99', '0.64'], 'size_guest_rule': ['6', '5.5/6'], 'size_guest': ['0.83', '1.21'], 'half_size_guest': '', 'half_size_guest_rule': '', 'half_size_home': '', 'half_size_home_rule': '', 'league_id': 28188, 'league_name': '哥斯达黎加甲组联赛', 'game_id': '3078257', 'team_home': '佩雷斯泽内度', 'team_guest': '阿拉伦斯', 'number': '4', 'time_game': '63:36', 'corner_ball': '', 'score_home': '2', 'score_guest': '3', 'half_way': '下半场'}}, 'capot': {'3078257': {'capot_home': '', 'capot_guest': '', 'capot_dogfall': '', 'half_capot_home': '', 'half_capot_guest': '', 'half_capot_dogfall': '', 'league_id': 28188, 'league_name': '哥斯达黎加甲组联赛', 'game_id': '3078257', 'team_home': '佩雷斯泽内度', 'team_guest': '阿拉伦斯', 'number': '4', 'data_game': '28 / 03', 'time_game': '63:36', 'corner_ball': '', 'score_home': '2', 'score_guest': '3', 'half_way': '下半场'}}, 'odd_even': {'3078257': {'odd_even_odd': '', 'odd_even_even': '', 'half_odd_even_odd': '', 'half_odd_even_even': '', 'league_id': 28188, 'league_name': '哥斯达黎加甲组联赛', 'game_id': '3078257', 'team_home': '佩雷斯泽内度', 'team_guest': '阿拉伦斯', 'number': '4', 'data_game': '28 / 03', 'time_game': '63:36', 'corner_ball': '', 'score_home': '2', 'score_guest': '3', 'half_way': '下半场'}}, 'total_goal': {'3078257': {'total_goal_zero': '', 'total_goal_two': '', 'total_goal_four': '', 'total_goal_seven': '', 'half_total_goal_zero': '', 'half_total_goal_one': '', 'half_total_goal_two': '', 'half_total_goal_three': '', 'league_id': 28188, 'league_name': '哥斯达黎加甲组联赛', 'game_id': '3078257', 'team_home': '佩雷斯泽内度', 'team_guest': '阿拉伦斯', 'number': '4', 'data_game': '28 / 03', 'time_game': '63:36', 'corner_ball': '', 'score_home': '2', 'score_guest': '3', 'half_way': '下半场'}}, 'half_full': {'3078257': {'half_full_home_home': '', 'half_full_home_dogfall': '', 'half_full_home_guest': '', 'half_full_dogfall_home': '', 'half_full_dogfall_dogfall': '', 'half_full_dogfall_guest': '', 'half_full_guest_home': '', 'half_full_guest_dogfall': '', 'half_full_guest_guest': '', 'league_id': 28188, 'league_name': '哥斯达黎加甲组联赛', 'game_id': '3078257', 'team_home': '佩雷斯泽内度', 'team_guest': '阿拉伦斯', 'number': '4', 'data_game': '28 / 03', 'time_game': '63:36', 'corner_ball': '', 'score_home': '2', 'score_guest': '3', 'half_way': '下半场'}}, 'bodan': {'3078257': {'bodan': '', 'half_bodan': '', 'league_id': 28188, 'league_name': '哥斯达黎加甲组联赛', 'game_id': '3078257', 'team_home': '佩雷斯泽内度', 'team_guest': '阿拉伦斯', 'number': '4', 'data_game': '28 / 03', 'time_game': '63:36', 'corner_ball': '', 'score_home': '2', 'score_guest': '3', 'half_way': '下半场'}}, 'first_last_ball': {'3078257': {'first_ball_home': '', 'first_ball_guest': '', 'last_ball_home': '', 'last_ball_guest': '', 'not_ball': '', 'league_id': 28188, 'league_name': '哥斯达黎加甲组联赛', 'game_id': '3078257', 'team_home': '佩雷斯泽内度', 'team_guest': '阿拉伦斯', 'number': '4', 'data_game': '28 / 03', 'time_game': '63:36', 'corner_ball': '', 'score_home': '2', 'score_guest': '3', 'half_way': '下半场'}}}
- # c = json.dumps(a,ensure_ascii=False)
- # print(c)
- # concede_size
- # with open('test.json','r') as f:
- # for line in f:
- # temp = json.loads(line)
- # print(temp)
- # 二级页面url= http://hg3535z.com/odds2/d/getamodds?eid=3108814&iip=true&ubt=am&isp=false
- # from xpinyin import Pinyin
- # wordvalue = "ATP美国女子网球公开赛2019"
- # p = Pinyin()
- # s = p.get_initials(wordvalue, u'').lower()
- # print(s)
- # import time
- # utime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time() + 60))
- # print(utime)
- # a = {
- # "i": [true, 4, 3110520, 2, 1, "sh", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "14 / 04", "", "", false, true, "棒球", 0],
- # "eg": {
- # "c": {
- # "k": 29400,
- # "n": "美国职业棒球"
- # },
- # "es": [{
- # "dbg": false,
- # "egid": 0,
- # "g": "",
- # "i": ["亚特兰大勇士队", "纽约大都会队", "9", "True", "14 / 04", "", "9", "False", "0", "0", "2", "1", "", "", "", "", 0, "", "", 16, "True"],
- # "ibs": true,
- # "ibsc": false,
- # "k": 3110520,
- # "o": {
- # "ah": {
- # "s": 1,
- # "v": ["h3164784133", "-1.5", "h3164784134", "+1.5", "o3164784133", "1.33", "o3164784134", "0.55"],
- # "n": "滚球 让球"
- # },
- # "ou": {
- # "s": 2,
- # "v": ["h3164784135", "6.5", "h3164784136", "6.5", "o3164784135", "0.70", "o3164784136", "1.04"],
- # "n": "总得分:滚球 大 / 小"
- # },
- # "oe": {
- # "s": 6,
- # "v": ["o3164784137", "0.51", "o3164784138", "1.58"],
- # "n": "总得分:滚球 单 / 双"
- # },
- # "ml": {
- # "s": 5,
- # "v": ["o3164784139", "0.00", "o3164784140", "0.00"],
- # "n": "滚球 独赢盘"
- # }
- # },
- # "p-o": [{
- # "n": "净胜球数",
- # "st": "ha",
- # "mgk": 9,
- # "s": 7,
- # "k": 301,
- # "o": [
- # ["亚特兰大勇士队-赢得1分", "o3164784186", "3.15", "0"],
- # ["亚特兰大勇士队-赢得2分", "o3164784187", "5.5", "3"],
- # ["亚特兰大勇士队-赢得3分", "o3164784188", "9.5", "6"],
- # ["亚特兰大勇士队-赢得4分或更多", "o3164784189", "7.5", "9"],
- # ["纽约大都会队-赢得1分", "o3164784190", "5.0", "2"],
- # ["纽约大都会队-赢得2分", "o3164784191", "7.5", "5"],
- # ["纽约大都会队-赢得3分", "o3164784192", "11.5", "8"],
- # ["纽约大都会队-赢得4分或更多", "o3164784193", "10.0", "11"]
- # ]
- # }, {
- # "n": "第6局获胜者",
- # "st": "ha",
- # "mgk": 0,
- # "s": 3000,
- # "k": 4000,
- # "o": [
- # ["和局", "o3164784213", "1.50"],
- # ["亚特兰大勇士队", "o3164784214", "5.5"],
- # ["纽约大都会队", "o3164784215", "3.80"]
- # ]
- # }, {
- # "n": "加时",
- # "st": "ha",
- # "mgk": 312,
- # "s": 8,
- # "k": 13520,
- # "o": [
- # ["是", "o3164784228", "6.0"],
- # ["不是", "o3164784229", "1.09"]
- # ]
- # }],
- # "pci": {
- # "ctid": 0
- # },
- # "sb": {
- # "fb": false,
- # "sb": false,
- # "tb": false,
- # "ot": 0,
- # "ps": [{
- # "adv": -1,
- # "a": 1.0,
- # "e": 3110520,
- # "h": 2.0,
- # "p": "ft"
- # }, {
- # "adv": -1,
- # "a": 0.0,
- # "e": 3110520,
- # "h": 0.0,
- # "p": "ot"
- # }, {
- # "adv": -1,
- # "a": 0.0,
- # "e": 3110520,
- # "h": 0.0,
- # "p": "i1"
- # }, {
- # "adv": -1,
- # "a": 1.0,
- # "e": 3110520,
- # "h": 1.0,
- # "p": "i2"
- # }, {
- # "adv": -1,
- # "a": 0.0,
- # "e": 3110520,
- # "h": 1.0,
- # "p": "i3"
- # }, {
- # "adv": -1,
- # "a": 0.0,
- # "e": 3110520,
- # "h": 0.0,
- # "p": "i4"
- # }, {
- # "adv": -1,
- # "a": 0.0,
- # "e": 3110520,
- # "h": 0.0,
- # "p": "i5"
- # }, {
- # "adv": -1,
- # "a": 0.0,
- # "e": 3110520,
- # "h": 0.0,
- # "p": "i6"
- # }, {
- # "adv": -1,
- # "a": 0.0,
- # "e": 3110520,
- # "h": 0.0,
- # "p": "i7"
- # }, {
- # "adv": -1,
- # "a": 0.0,
- # "e": 3110520,
- # "h": 0.0,
- # "p": "i8"
- # }, {
- # "adv": -1,
- # "a": 0.0,
- # "e": 3110520,
- # "h": 0.0,
- # "p": "i9"
- # }],
- # "a": 1,
- # "h": 2,
- # "k": 3110520,
- # "iwd": false,
- # "ls": -1,
- # "s": 1,
- # "ts": 0,
- # "tt": 0,
- # "ct": "00:00",
- # "cp": "i5"
- # },
- # "egn": ""
- # }, {
- # "dbg": false,
- # "egid": 0,
- # "g": "",
- # "i": ["ATL Braves - Team Runs - Over", "ATL Braves - Team Runs - Under", "9", "True", "14 / 04", "", "9", "False", "0", "0", "2", "0", "", "", "", "", 0, "", "", 16, "True"],
- # "ibs": true,
- # "ibsc": false,
- # "k": 3110522,
- # "o": {
- # "ou": {
- # "s": 3,
- # "v": ["h3164784242", "3.5", "h3164784243", "3.5", "o3164784242", "1.12", "o3164784243", "0.63"],
- # "n": "球队得分:亚特兰大勇士队-滚球 大 / 小"
- # }
- # },
- # "pci": {
- # "ctid": 208,
- # "ctn": "球队得分"
- # },
- # "egn": ""
- # }, {
- # "dbg": false,
- # "egid": 0,
- # "g": "",
- # "i": ["NY Mets - Team Runs - Over", "NY Mets - Team Runs - Under", "9", "True", "14 / 04", "", "9", "False", "0", "0", "1", "0", "", "", "", "", 0, "", "", 16, "True"],
- # "ibs": true,
- # "ibsc": false,
- # "k": 3110524,
- # "o": {
- # "ou": {
- # "s": 4,
- # "v": ["h3164784261", "2.5", "h3164784263", "2.5", "o3164784261", "0.55", "o3164784263", "1.23"],
- # "n": "球队得分:纽约大都会队-滚球 大 / 小"
- # }
- # },
- # "pci": {
- # "ctid": 209,
- # "ctn": "球队得分"
- # },
- # "egn": ""
- # }]
- # },
- # "ot": 2,
- # "sc": {
- # "3110520": {
- # "a": 1,
- # "h": 2
- # },
- # "3110522": {
- # "a": 0,
- # "h": 2
- # },
- # "3110524": {
- # "a": 0,
- # "h": 1
- # }
- # },
- # "v": 40576
- # }
- # print(a)
- # data = {
- # "i": ['true', 4, 3110520, 2, 1, "sh", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "14 / 04", "", "", 'false', 'true', "棒球", 0],
- # "eg": {
- # "c": {
- # "k": 29400,
- # "n": "美国职业棒球"
- # },
- # "es": [{
- # "dbg": 'false',
- # "egid": 0,
- # "g": "",
- # "i": ["亚特兰大勇士队", "纽约大都会队", "9", "True", "14 / 04", "", "9", "False", "0", "0", "2", "1", "", "", "", "", 0, "", "", 16, "True"],
- # "ibs": 'true',
- # "ibsc": 'false',
- # "k": 3110520,
- # "o": {
- # "ah": {
- # "s": 1,
- # "v": ["h3164784133", "-1.5", "h3164784134", "+1.5", "o3164784133", "1.33", "o3164784134", "0.55"],
- # "n": "滚球 让球"
- # },
- # "ou": {
- # "s": 2,
- # "v": ["h3164784135", "6.5", "h3164784136", "6.5", "o3164784135", "0.70", "o3164784136", "1.04"],
- # "n": "总得分:滚球 大 / 小"
- # },
- # "oe": {
- # "s": 6,
- # "v": ["o3164784137", "0.51", "o3164784138", "1.58"],
- # "n": "总得分:滚球 单 / 双"
- # },
- # "ml": {
- # "s": 5,
- # "v": ["o3164784139", "0.00", "o3164784140", "0.00"],
- # "n": "滚球 独赢盘"
- # }
- # },
- # "p-o": [{
- # "n": "净胜球数",
- # "st": "ha",
- # "mgk": 9,
- # "s": 7,
- # "k": 301,
- # "o": [
- # ["亚特兰大勇士队-赢得1分", "o3164784186", "3.15", "0"],
- # ["亚特兰大勇士队-赢得2分", "o3164784187", "5.5", "3"],
- # ["亚特兰大勇士队-赢得3分", "o3164784188", "9.5", "6"],
- # ["亚特兰大勇士队-赢得4分或更多", "o3164784189", "7.5", "9"],
- # ["纽约大都会队-赢得1分", "o3164784190", "5.0", "2"],
- # ["纽约大都会队-赢得2分", "o3164784191", "7.5", "5"],
- # ["纽约大都会队-赢得3分", "o3164784192", "11.5", "8"],
- # ["纽约大都会队-赢得4分或更多", "o3164784193", "10.0", "11"]
- # ]
- # }, {
- # "n": "第6局获胜者",
- # "st": "ha",
- # "mgk": 0,
- # "s": 3000,
- # "k": 4000,
- # "o": [
- # ["和局", "o3164784213", "1.50"],
- # ["亚特兰大勇士队", "o3164784214", "5.5"],
- # ["纽约大都会队", "o3164784215", "3.80"]
- # ]
- # }, {
- # "n": "加时",
- # "st": "ha",
- # "mgk": 312,
- # "s": 8,
- # "k": 13520,
- # "o": [
- # ["是", "o3164784228", "6.0"],
- # ["不是", "o3164784229", "1.09"]
- # ]
- # }],
- # "pci": {
- # "ctid": 0
- # },
- # "sb": {
- # "fb": 'false',
- # "sb": 'false',
- # "tb": 'false',
- # "ot": 0,
- # "ps": [{
- # "adv": -1,
- # "a": 1.0,
- # "e": 3110520,
- # "h": 2.0,
- # "p": "ft"
- # }, {
- # "adv": -1,
- # "a": 0.0,
- # "e": 3110520,
- # "h": 0.0,
- # "p": "ot"
- # }, {
- # "adv": -1,
- # "a": 0.0,
- # "e": 3110520,
- # "h": 0.0,
- # "p": "i1"
- # }, {
- # "adv": -1,
- # "a": 1.0,
- # "e": 3110520,
- # "h": 1.0,
- # "p": "i2"
- # }, {
- # "adv": -1,
- # "a": 0.0,
- # "e": 3110520,
- # "h": 1.0,
- # "p": "i3"
- # }, {
- # "adv": -1,
- # "a": 0.0,
- # "e": 3110520,
- # "h": 0.0,
- # "p": "i4"
- # }, {
- # "adv": -1,
- # "a": 0.0,
- # "e": 3110520,
- # "h": 0.0,
- # "p": "i5"
- # }, {
- # "adv": -1,
- # "a": 0.0,
- # "e": 3110520,
- # "h": 0.0,
- # "p": "i6"
- # }, {
- # "adv": -1,
- # "a": 0.0,
- # "e": 3110520,
- # "h": 0.0,
- # "p": "i7"
- # }, {
- # "adv": -1,
- # "a": 0.0,
- # "e": 3110520,
- # "h": 0.0,
- # "p": "i8"
- # }, {
- # "adv": -1,
- # "a": 0.0,
- # "e": 3110520,
- # "h": 0.0,
- # "p": "i9"
- # }],
- # "a": 1,
- # "h": 2,
- # "k": 3110520,
- # "iwd": 'false',
- # "ls": -1,
- # "s": 1,
- # "ts": 0,
- # "tt": 0,
- # "ct": "00:00",
- # "cp": "i5"
- # },
- # "egn": ""
- # }, {
- # "dbg": 'false',
- # "egid": 0,
- # "g": "",
- # "i": ["ATL Braves - Team Runs - Over", "ATL Braves - Team Runs - Under", "9", "True", "14 / 04", "", "9", "False", "0", "0", "2", "0", "", "", "", "", 0, "", "", 16, "True"],
- # "ibs": 'true',
- # "ibsc": 'false',
- # "k": 3110522,
- # "o": {
- # "ou": {
- # "s": 3,
- # "v": ["h3164784242", "3.5", "h3164784243", "3.5", "o3164784242", "1.12", "o3164784243", "0.63"],
- # "n": "球队得分:亚特兰大勇士队-滚球 大 / 小"
- # }
- # },
- # "pci": {
- # "ctid": 208,
- # "ctn": "球队得分"
- # },
- # "egn": ""
- # }, {
- # "dbg": 'false',
- # "egid": 0,
- # "g": "",
- # "i": ["NY Mets - Team Runs - Over", "NY Mets - Team Runs - Under", "9", "True", "14 / 04", "", "9", "False", "0", "0", "1", "0", "", "", "", "", 0, "", "", 16, "True"],
- # "ibs": 'true',
- # "ibsc": 'false',
- # "k": 3110524,
- # "o": {
- # "ou": {
- # "s": 4,
- # "v": ["h3164784261", "2.5", "h3164784263", "2.5", "o3164784261", "0.55", "o3164784263", "1.23"],
- # "n": "球队得分:纽约大都会队-滚球 大 / 小"
- # }
- # },
- # "pci": {
- # "ctid": 209,
- # "ctn": "球队得分"
- # },
- # "egn": ""
- # }]
- # },
- # "ot": 2,
- # "sc": {
- # "3110520": {
- # "a": 1,
- # "h": 2
- # },
- # "3110522": {
- # "a": 0,
- # "h": 2
- # },
- # "3110524": {
- # "a": 0,
- # "h": 1
- # }
- # },
- # "v": 40576
- # }
- # c = json.dumps(data)
- # print(c)
- import jsonpath
- import requests
- # ids = jsonpath.jsonpath(res, '$..i-ot[0]..egs..es..i[16]') # ids新列表
- # try:
- # url = "http://sports.5gogo.com/sports/MatchList/getOddsCode"
- # res = requests.get(url)
- # if res.status_code == 200:
- # res = res.json()
- # # res = res.text
- # # print(res)
- # odds_code = jsonpath.jsonpath(res, '$..data..odds_code')#递归取出odds_code 形成列表
- # p_id = jsonpath.jsonpath(res, '$..data..odds_code') # 递归取出p_id 形成列表
- # # print(len(odds_code))
- # # print(len(p_id))
- # a = zip(odds_code,p_id) #传递可迭代对象生成
- # print(dict(a))
- # except:
- # print('111111111111111111111111')
- # pass
- # a = [{'match_id': 3142618, 'create_time': '2019-04-26 10:56:32', 'status': 1, 'ball_type': '棒球'}, {'match_id': 3142621, 'create_time': '2019-04-26 10:56:32', 'status': 1, 'ball_type': '棒球'}]
- #
- # for i in a:
- # # print(i)
- # print(i['match_id'])
- import psycopg2
- import time
- from functools import wraps
- from contextlib import contextmanager
- import psycopg2.extras
- # 测试一个函数的运行时间,使用方式:在待测函数直接添加此修饰器
- def timethis(func):
- @wraps(func)
- def wrapper(*args, **kwargs):
- start = time.perf_counter()
- r = func(*args, **kwargs)
- end = time.perf_counter()
- print('\n============================================================')
- print('{}.{} : {}'.format(func.__module__, func.__name__, end - start))
- print('============================================================\n')
- return r
- return wrapper
- # 测试一段代码运行的时间,使用方式:上下文管理器with
- # with timeblock('block_name'):
- # your_code_block...
- @contextmanager
- def timeblock(label='Code'):
- start = time.perf_counter()
- try:
- yield
- finally:
- end = time.perf_counter()
- print('==============================================================')
- print('{} run time: {}'.format(label, end - start))
- print('==============================================================')
- class SqlConn():
- '''
- 连接数据库,以及进行一些操作的封装
- '''
- sql_name = ''
- database = ''
- user = ''
- password = ''
- port = 0
- host = ''
- # 创建连接、游标
- def __init__(self, *args, **kwargs):
- if kwargs.get("sql_name"):
- self.sql_name = kwargs.get("sql_name")
- if kwargs.get("database"):
- self.database = kwargs.get("database")
- if kwargs.get("user"):
- self.user = kwargs.get("user")
- if kwargs.get("password"):
- self.password = kwargs.get("password")
- if kwargs.get("port"):
- self.port = kwargs.get("port")
- if kwargs.get("host"):
- self.host = kwargs.get("host")
- if not (self.host and self.port and self.user and
- self.password and self.database):
- raise Warning("conn_error, missing some params!")
- sql_conn = {
- 'postgresql': psycopg2,
- }
- self.conn = sql_conn[self.sql_name].connect(host=self.host,
- port=self.port,
- user=self.user,
- password=self.password,
- database=self.database,
- )
- self.cursor = self.conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
- if not self.cursor:
- raise Warning("conn_error!")
- # 测试连接
- def test_conn(self):
- if self.cursor:
- print("conn success!")
- else:
- print('conn error!')
- # 单条语句的并提交
- def execute(self, sql_code):
- self.cursor.execute(sql_code)
- self.conn.commit()
- # 单条语句的不提交
- def execute_no_conmmit(self, sql_code):
- self.cursor.execute(sql_code)
- # 构造多条语句,使用%s参数化,对于每个list都进行替代构造
- def excute_many(self, sql_base, param_list):
- self.cursor.executemany(sql_base, param_list)
- # 批量执行(待完善)
- def batch_execute(self, sql_code):
- pass
- # 获取数据
- def get_data(self, sql_code, count=0):
- self.cursor.execute(sql_code)
- if int(count):
- return self.cursor.fetchmany(count)
- else:
- return self.cursor.fetchall()
- # 更新数据
- def updata_data(self, sql_code):
- self.cursor(sql_code)
- # 插入数据
- def insert_data(self, sql_code):
- self.cursor(sql_code)
- # 滚动游标
- def cursor_scroll(self, count, mode='relative'):
- self.cursor.scroll(count, mode=mode)
- # 提交
- def commit(self):
- self.conn.commit()
- # 回滚
- def rollback(self):
- self.conn.rollback()
- # 关闭连接
- def close_conn(self):
- self.cursor.close()
- self.conn.close()
- class ComplexEncoder(json.JSONEncoder):
- def default(self, obj):
- if isinstance(obj, datetime):
- return obj.strftime('%Y-%m-%d %H:%M:%S')
- elif isinstance(obj, date):
- return obj.strftime('%Y-%m-%d')
- else:
- return json.JSONEncoder.default(self, obj)
- a = SqlConn(sql_name='postgresql',host='127.0.0.1',port=5432,user='postgres',password='9998877',database='postgres')
- a.test_conn()
- b = a.get_data("select match_id from st_ball_status2")
- # print(b)
- # print(b)
- d = list(itertools.chain(*b))
- print(d)
- a.close_conn()
|