편집 기록

편집 기록
  • 프로필 김지용님의 편집
    날짜2020.10.06

    중첩딕셔너리로 데이터프레임 만든 뒤 엑셀로 저장하면 생략된 정보가 있어요


    fleet_list = {}
    
    airlines = ['lj-jna', 'ke-kal', 'oz-aar', '7c-jja', 'bx-abl', 'tw-twb', 'rs-asv']
    
    for i in airlines:
        driver.get('https://www.flightradar24.com/data/airlines/%s' % i)
        driver.find_element_by_css_selector('nav > a:nth-child(3)').click()
        driver.find_element_by_css_selector('#list-aircraft > dt:nth-child(2)').click()
        try:
            for i in range(4, 51, 2):
                driver.find_element_by_css_selector('#list-aircraft > dt:nth-child(%s)' % i).click()
        except:
            pass
        fleet = driver.find_elements_by_css_selector('td:nth-child(1) > a')
        airline_code = driver.find_element_by_css_selector('div.row.m-t-l.m-l-l > h2').text[3:]
        for j in fleet:
            if airline_code not in fleet_list:
               fleet_list[airline_code] = {}
            fleet_list[airline_code].setdefault(j.text)
            for i in fleet_list[airline_code].keys():
                fleet_list[airline_code][i] = []
        time.sleep(2)
    
    for i in fleet_list['ASV'].keys():
        driver.get('https://www.flightradar24.com/data/aircraft/%s' % i)
        html = driver.page_source
        raw = pd.read_html(html)
        fleet_list['ASV'][i].append(raw[0])
        time.sleep(3)
    
    asv_data = pd.DataFrame(fleet_list)
    asv_data.to_csv('sample2.csv')   
    

    현재 코드를 실행하면 fleet_list의 값이

    {'ASV': {'HL7212': [                                       FLIGHTS HISTORY  ... Unnamed: 32
    0    RS904 06 Oct 2020 0:50 Landed 03:22 STD 02:00A...  ...         NaN
    1    RS903 06 Oct 2020 0:50 Landed 01:37 STD 00:15A...  ...         NaN
    2    RS902 05 Oct 2020 0:49 Landed 23:49 STD 22:35A...  ...         NaN
    3    RS901 05 Oct 2020 0:53 Landed 22:06 STD 21:00A...  ...         NaN
    4    RS908 05 Oct 2020 0:48 Landed 11:40 STD 10:40A...  ...         NaN
    ..                                                 ...  ...         ...
    96   RS906 22 Sep 2020 0:48 Landed 07:36 STD 06:25A...  ...         NaN
    97   RS905 22 Sep 2020 0:55 Landed 05:29 STD 04:20A...  ...         NaN
    98   RS904 22 Sep 2020 0:54 Landed 03:12 STD 02:00A...  ...         NaN
    99   RS903 22 Sep 2020 0:51 Landed 01:15 STD 00:15A...  ...         NaN
    100                                                NaN  ...         NaN
    [101 rows x 33 columns]],
    # 뒤는 생략
    

    그리고 csv로 저장하면

    https://res.cloudinary.com/eightcruz/image/upload/v1601955667/hdxfzlxixyyp1ws3cdxa.png

    이렇게 나와요. ... 이게 생략된게 아니고 그냥 ...이 적힌거에요. 어떻게 해야 전부다 나오게 할 수 있을까요?

    이미지가 안나와서 링크로 올립니다

  • 프로필 엽토군님의 편집
    날짜2020.10.06

    중첩딕셔너리로 데이터프레임 만든 뒤 엑셀로 저장하면 생략된 정보가 있어요


    fleet_list = {}
    
    airlines = ['lj-jna', 'ke-kal', 'oz-aar', '7c-jja', 'bx-abl', 'tw-twb', 'rs-asv']
    
    for i in airlines:
        driver.get('https://www.flightradar24.com/data/airlines/%s' % i)
        driver.find_element_by_css_selector('nav > a:nth-child(3)').click()
        driver.find_element_by_css_selector('#list-aircraft > dt:nth-child(2)').click()
        try:
            for i in range(4, 51, 2):
                driver.find_element_by_css_selector('#list-aircraft > dt:nth-child(%s)' % i).click()
        except:
            pass
        fleet = driver.find_elements_by_css_selector('td:nth-child(1) > a')
        airline_code = driver.find_element_by_css_selector('div.row.m-t-l.m-l-l > h2').text[3:]
        for j in fleet:
            if airline_code not in fleet_list:
               fleet_list[airline_code] = {}
            fleet_list[airline_code].setdefault(j.text)
            for i in fleet_list[airline_code].keys():
                fleet_list[airline_code][i] = []
        time.sleep(2)
    
    for i in fleet_list['ASV'].keys():
        driver.get('https://www.flightradar24.com/data/aircraft/%s' % i)
        html = driver.page_source
        raw = pd.read_html(html)
        fleet_list['ASV'][i].append(raw[0])
        time.sleep(3)
    
    asv_data = pd.DataFrame(fleet_list)
    asv_data.to_csv('sample2.csv')   
    

    현재 코드를 실행하면 fleet_list의 값이

    {'ASV': {'HL7212': [                                       FLIGHTS HISTORY  ... Unnamed: 32
    0    RS904 06 Oct 2020 0:50 Landed 03:22 STD 02:00A...  ...         NaN
    1    RS903 06 Oct 2020 0:50 Landed 01:37 STD 00:15A...  ...         NaN
    2    RS902 05 Oct 2020 0:49 Landed 23:49 STD 22:35A...  ...         NaN
    3    RS901 05 Oct 2020 0:53 Landed 22:06 STD 21:00A...  ...         NaN
    4    RS908 05 Oct 2020 0:48 Landed 11:40 STD 10:40A...  ...         NaN
    ..                                                 ...  ...         ...
    96   RS906 22 Sep 2020 0:48 Landed 07:36 STD 06:25A...  ...         NaN
    97   RS905 22 Sep 2020 0:55 Landed 05:29 STD 04:20A...  ...         NaN
    98   RS904 22 Sep 2020 0:54 Landed 03:12 STD 02:00A...  ...         NaN
    99   RS903 22 Sep 2020 0:51 Landed 01:15 STD 00:15A...  ...         NaN
    100                                                NaN  ...         NaN
    [101 rows x 33 columns]],
    # 뒤는 생략
    

    그리고 csv로 저장하면

    이미지

    이렇게 나와요. ... 이게 생략된게 아니고 그냥 ...이 적힌거에요. 어떻게 해야 전부다 나오게 할 수 있을까요?

  • 프로필 김지용님의 편집
    날짜2020.10.06

    중첩딕셔너리로 데이터프레임 만든 뒤 엑셀로 저장하면 생략된 정보가 있어요


    fleet_list = {}
    
    airlines = ['lj-jna', 'ke-kal', 'oz-aar', '7c-jja', 'bx-abl', 'tw-twb', 'rs-asv']
    
    for i in airlines:
        driver.get('https://www.flightradar24.com/data/airlines/%s' % i)
        driver.find_element_by_css_selector('nav > a:nth-child(3)').click()
        driver.find_element_by_css_selector('#list-aircraft > dt:nth-child(2)').click()
        try:
            for i in range(4, 51, 2):
                driver.find_element_by_css_selector('#list-aircraft > dt:nth-child(%s)' % i).click()
        except:
            pass
        fleet = driver.find_elements_by_css_selector('td:nth-child(1) > a')
        airline_code = driver.find_element_by_css_selector('div.row.m-t-l.m-l-l > h2').text[3:]
        for j in fleet:
            if airline_code not in fleet_list:
               fleet_list[airline_code] = {}
            fleet_list[airline_code].setdefault(j.text)
            for i in fleet_list[airline_code].keys():
                fleet_list[airline_code][i] = []
        time.sleep(2)
    
    for i in fleet_list['ASV'].keys():
        driver.get('https://www.flightradar24.com/data/aircraft/%s' % i)
        html = driver.page_source
        raw = pd.read_html(html)
        fleet_list['ASV'][i].append(raw[0])
        time.sleep(3)
    
    asv_data = pd.DataFrame(fleet_list)
    asv_data.to_csv('sample2.csv')   
    

    현재 코드를 실행하면 fleet_list의 값이

    {'ASV': {'HL7212': [                                       FLIGHTS HISTORY  ... Unnamed: 32
    0    RS904 06 Oct 2020 0:50 Landed 03:22 STD 02:00A...  ...         NaN
    1    RS903 06 Oct 2020 0:50 Landed 01:37 STD 00:15A...  ...         NaN
    2    RS902 05 Oct 2020 0:49 Landed 23:49 STD 22:35A...  ...         NaN
    3    RS901 05 Oct 2020 0:53 Landed 22:06 STD 21:00A...  ...         NaN
    4    RS908 05 Oct 2020 0:48 Landed 11:40 STD 10:40A...  ...         NaN
    ..                                                 ...  ...         ...
    96   RS906 22 Sep 2020 0:48 Landed 07:36 STD 06:25A...  ...         NaN
    97   RS905 22 Sep 2020 0:55 Landed 05:29 STD 04:20A...  ...         NaN
    98   RS904 22 Sep 2020 0:54 Landed 03:12 STD 02:00A...  ...         NaN
    99   RS903 22 Sep 2020 0:51 Landed 01:15 STD 00:15A...  ...         NaN
    100                                                NaN  ...         NaN
    [101 rows x 33 columns]],
    # 뒤는 생략
    

    그리고 csv로 저장하면 https://res.cloudinary.com/eightcruz/image/upload/v1601955667/hdxfzlxixyyp1ws3cdxa.png

    이렇게 나와요. ... 이게 생략된게 아니고 그냥 ...이 적힌거에요. 어떻게 해야 전부다 나오게 할 수 있을까요?

    이미지가 안나와서 링크로 남깁니다