Search code examples
pythondataframejoindatatable

Making a table by using data which getting together 4 different list


I try to make a table by getting together four list. My code as below:

from selenium import webdriver
import time
driver_path= "C:\\Users\\Bacanli\\Desktop\\chromedriver.exe"
browser=webdriver.Chrome(driver_path)
browser.get("http://www.bddk.org.tr/BultenHaftalik")
time.sleep(3)


Krediler=browser.find_element_by_xpath("//*[@id='tabloListesiItem-253']/span")
Krediler.click()


elements = browser.find_elements_by_css_selector("td.ortala:nth-child(2)")
TPs=browser.find_elements_by_css_selector("td[data-label='TP']")
YPs=browser.find_elements_by_css_selector("td[data-label='YP']")
Toplams=browser.find_elements_by_css_selector("td[data-label='Toplam']")

My intend is that make a new table by getting together elements, TPs, YPs, Toplams. Thanks for your helping.


Solution

  • Pandas makes this easy for you:

    import pandas as pd
    
    df = pd.read_html('http://www.bddk.org.tr/BultenHaftalik')
    

    will create a list of pandas dataframes from html tables on the page. The table you want is df[3].

    Result df[3].head():

    Unnamed: 0 Sektör / Krediler ( 9 Temmuz 2021 Cuma ) (Milyon TL) TP YP TOPLAM
    0 1 Toplam Krediler (2+10) 2.479.94928 1.427.80395 3.907.75323
    1 2 Tüketici Kredileri ve Bireysel Kredi Kartları (3+7) 877.62363 30181 877.92544
    2 3 Tüketici Kredileri (4+5+6) 710.18775 11070 710.29845
    3 4 a) Konut 278.38213 7473 278.45686
    4 5 b) Taşıt 14.91958 000 14.91958

    export to csv with df[3].to_csv('filename.csv')

    (or you could use the export to excel button above the table on the website)