更新数据库中容积率和覆盖率


import os
import psycopg2
from psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT

all_string = """地块0,11F_T2,280,22,4851.57,1.270 ,0.1154 
地块1,11F_T2,280,88,10242.5,2.406 ,0.2187 
地块2,11F_T2,280,165,20289.1,2.277 ,0.2070 
地块3,11F_T2,280,209,24421.3,2.396 ,0.2178 
地块4,11F_T2,280,55,7799.32,1.975 ,0.1795 
地块5,11F_T2,280,198,22002.7,2.520 ,0.2291 
地块6,11F_T2,280,132,20289.1,1.822 ,0.1656 
地块7,11F_T2,280,737,83503.6,2.471 ,0.2247 
地块8,11F_T2,280,187,19335.38,2.708 ,0.2462 
地块9,11F_T2,280,319,33108.25,2.698 ,0.2453 
地块10,11F_T2,280,187,18484.58,2.833 ,0.2575 
地块11,11F_T2,280,451,48795.78,2.588 ,0.2353 
地块12,11F_T2,280,121,14652.1,2.312 ,0.2102 
地块13,11F_T2,280,462,51343.2,2.520 ,0.2290 
地块14,11F_T2,280,165,22658.78,2.039 ,0.1854 
地块15,11F_T2,280,66,10779.3,1.714 ,0.1559 
地块16,11F_T2,280,286,29575.57,2.708 ,0.2461 
地块17,11F_T2,280,132,14995.82,2.465 ,0.2241 
地块18,11F_T2,280,110,11538.15,2.669 ,0.2427 
地块19,11F_T2,280,99,11721.02,2.365 ,0.2150 
地块0,18F_T3,350,36,4851.57,2.597 ,0.1443 
地块1,18F_T3,350,90,10242.5,3.075 ,0.1709 
地块2,18F_T3,350,180,20289.1,3.105 ,0.1725 
地块3,18F_T3,350,234,24421.3,3.354 ,0.1863 
地块4,18F_T3,350,54,7799.32,2.423 ,0.1346 
地块5,18F_T3,350,216,22002.7,3.436 ,0.1909 
地块6,18F_T3,350,144,20289.1,2.484 ,0.1380 
地块7,18F_T3,350,738,83503.6,3.093 ,0.1718 
地块8,18F_T3,350,180,19335.38,3.258 ,0.1810 
地块9,18F_T3,350,306,33108.25,3.235 ,0.1797 
地块10,18F_T3,350,180,18484.58,3.408 ,0.1893 
地块11,18F_T3,350,450,48795.78,3.228 ,0.1793 
地块12,18F_T3,350,108,14652.1,2.580 ,0.1433 
地块13,18F_T3,350,432,51343.2,2.945 ,0.1636 
地块14,18F_T3,350,144,22658.78,2.224 ,0.1236 
地块15,18F_T3,350,72,10779.3,2.338 ,0.1299 
地块16,18F_T3,350,288,29575.57,3.408 ,0.1893 
地块17,18F_T3,350,144,14995.82,3.361 ,0.1867 
地块18,18F_T3,350,108,11538.15,3.276 ,0.1820 
地块19,18F_T3,350,90,11721.02,2.687 ,0.1493 
地块0,18F_T4,350,36,4851.57,2.597 ,0.1443 
地块1,18F_T4,350,90,10242.5,3.075 ,0.1709 
地块2,18F_T4,350,180,20289.1,3.105 ,0.1725 
地块3,18F_T4,350,216,24421.3,3.096 ,0.1720 
地块4,18F_T4,350,72,7799.32,3.231 ,0.1795 
地块5,18F_T4,350,180,22002.7,2.863 ,0.1591 
地块6,18F_T4,350,126,20289.1,2.174 ,0.1208 
地块7,18F_T4,350,792,83503.6,3.320 ,0.1844 
地块8,18F_T4,350,180,19335.38,3.258 ,0.1810 
地块9,18F_T4,350,306,33108.25,3.235 ,0.1797 
地块10,18F_T4,350,180,18484.58,3.408 ,0.1893 
地块11,18F_T4,350,432,48795.78,3.099 ,0.1721 
地块12,18F_T4,350,126,14652.1,3.010 ,0.1672 
地块13,18F_T4,350,450,51343.2,3.068 ,0.1704 
地块14,18F_T4,350,162,22658.78,2.502 ,0.1390 
地块15,18F_T4,350,72,10779.3,2.338 ,0.1299 
地块16,18F_T4,350,270,29575.57,3.195 ,0.1775 
地块17,18F_T4,350,126,14995.82,2.941 ,0.1634 
地块18,18F_T4,350,108,11538.15,3.276 ,0.1820
地块19,18F_T4,350,90,11721.02,2.687 ,0.1493"""

dieping = """0,0.79,0.1979,,,,
1,0.81,0.2031,,,,
2,0.91,0.2287,,,,
3,0.94,0.2359,,,,
4,0.74,0.1846,,,,
5,1.02,25.45,,,,
6,0.9,0.2249,,,,
7,1.03,0.2568,,,,
8,0.89,0.2234,,,,
9,0.95,0.2368,,,,
10,1.35,0.2251,,,,
11,1.2,0.2,,,,
12,1.18,0.1966,,,,
13,1.18,0.1963,,,,
14,1.23,0.2048,,,,
15,1.07,0.1781,,,,
16,1.17,0.1948,,,,
17,1.28,0.2134,,,,
18,1.25,0.208,,,,
19,1.23,0.2048,,,,"""


mid = """20,1.94,0.2771,,,,
21,1.75,0.2576,,,,
22,1.71,0.2513,,,,
23,1.81,0.2581,,,,
24,1.78,0.2603,,,,
25,1.77,0.2535,,,,
26,1.8,0.2598,,,,
27,1.85,0.2718,,,,
28,1.8,0.2629,,,,
29,1.9,0.2764,,,,"""

USER = "postgres"
PASSWORD = "Mz9A85vmP5wSxxeNbGBrjv86L9bJoX"
PORT = 5432
HOST = "10.0.0.17"
DATABASE = "unittest"

def call_postgresql(sql, flag=1):
    # "flag = 1表示获取多条数据 0表示获取单条数据"

    conn = psycopg2.connect(database=DATABASE, port=PORT,
                            host=HOST, user=USER, password=PASSWORD)
    cursor = conn.cursor()
    cursor.execute(sql)
    if flag:
        results = cursor.fetchall()
    else:
        results = None
    conn.commit()
    conn.close()
    return results

mid_list = mid.split("\n")
for lines in mid_list:
    i = lines.split(",")
    # print(i)
    testcase_id = "testcase_000{:02d}".format(int(i[0]))
    far = i[1]
    coverage = i[2]
    sql = "update baseline_new_algorithm_result  SET expect_far = {},expect_coverage={} WHERE testcase_id = '{}'".format(far,coverage,testcase_id)
    print(sql)
    call_postgresql(sql,0)


dieping_list = dieping.split("\n")
for lines in dieping_list:
    i = lines.split(",")
    # print(i)
    testcase_id = "testcase_000{:02d}_lowrise".format(int(i[0]))
    far = i[1]
    coverage = i[2]
    sql = "update baseline_new_algorithm_result  SET expect_far = {},expect_coverage={} WHERE testcase_id = '{}'".format(far,coverage,testcase_id)
    print(sql)
    call_postgresql(sql,0)

smallhigh = all_string.split("\n")
for lines in smallhigh:
    i = lines.split(",")
    # print(i)
    testcase_id = "testcase_000{:02d}_small_high_{}".format(int(i[0][2:]),i[1])
    far = i[5]
    coverage = i[6]
    sql = "update baseline_new_algorithm_result  SET expect_far = {},expect_coverage={} WHERE testcase_id = '{}'".format(far,coverage,testcase_id)
    print(sql)
    call_postgresql(sql,0)