Python сравнивает каждую строку, если она имеет одинаковое значение A, то плюс значение B - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть данные с тысячной строкой, поэтому я хочу сравнить некоторые строки с одинаковым значением и значением и суммировать их другие значения в одну строку.

14:45:14  923.0  6.9  4,399  87,144
14:30:02  923.9  7.8  6  82,745
14:30:00  924.0  7.9  19  82,739
14:29:58  924.0  7.9  1  82,720
14:29:56  924.0  7.9  20  82,719
14:29:54  923.9  7.8  96  82,699

мой код

while True:

    dong_khop_lenh = driver.find_element_by_xpath(
                     "//div[@id='derivative-info-table-scroll-area-VN30F1910']" +
                     "/table/tbody/tr["+str(vitri1)+"]")
    tds = dong_khop_lenh.find_elements_by_tag_name('td')

    time_khop = tds[0].text
    gia_khop = tds[1].text
    lech_vn30 = tds[2].text
    kl_khop = tds[3].text
    kl_tluy = tds[4].text

    dong_khop_lenh_duoi = driver.find_element_by_xpath(
                     "//div[@id='derivative-info-table-scroll-area-VN30F1910']" +
                     "/table/tbody/tr["+str(vitri2)+"]")
    tds_duoi = dong_khop_lenh_duoi.find_elements_by_tag_name('td')

    time_khop_duoi = tds_duoi[0].text
    gia_khop_duoi = tds_duoi[1].text
    lech_duoi = tds_duoi[2].text
    kl_khop_duoi = tds_duoi[3].text
    kl_tluy_duoi = tds_duoi[4].text

    if float(gia_khop) == float(gia_khop_duoi) and \
       int(kl_tluy.replace(',', '')) > int(kl_tluy_duoi.replace(',', '')):
        vitri1 += 1
        vitri2 += 1
        kl_khop1 = int(kl_khop_duoi.replace(',', ''))
        if float(gia_khop) == float(gia_khop_duoi):


            final_kl_khop_duoi = int(kl_khop1) + int(kl_khop_duoi.replace(',', ''))
            final_dong_khop_lenh_duoi = str(time_khop) + "->" + str(time_khop_duoi) + \
                                "\t" + str(gia_khop_duoi) + "\t" + str(lech_duoi  ) + \
                                "\t" + str(final_kl_khop_duoi) + "\t" + str(kl_tluy_duoi)


            print final_dong_khop_lenh_duoi

Я попытался сравнить строки 3 4 5, которые имеют то же значение в 924, а затем плюс 19 + 1 + 20 результат:

14:30:02    923.9   7.8 6   82,745
14:30:00    924.0   7.9 19  82,739
14:30:00->14:29:58  924.0   7.9 2   82,720
14:29:58->14:29:56  924.0   7.9 40  82,719
14:29:54    923.9   7.8 96  82,699
14:29:52    924.0   7.9 3   82,603
14:29:52->14:29:50  924.0   7.9 34  82,600
14:29:50->14:29:48  924.0   7.9 66  82,583
14:29:48->14:29:46  924.0   7.9 126 82,550
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...