iT邦幫忙

0

pandas迴圈儲存

jin 2021-12-06 19:57:08433 瀏覽

如何把迴圈中的pd.DataFrame資料放在一起

from selenium import webdriver
import pandas as pd
path = "C:/Users/jin ru/Desktop/chromedriver.exe"
driver = webdriver.Chrome(path)

for a in range(1,2): 
    df2=pd.DataFrame()
    for page in range(8):
        path2="http://163.29.117.247/port/Portlist.asp?year1=2020&month1=09"+"&day1="+str(a)+"&timer1=01%3A00&timer2=23%3A55&sent=%BDT%A9w&offset="+str(page*40)
        driver.get(path2)
        data=pd.read_html(path2)
        data1_df=data[2]
        data2_df=data[3]  
         #刪除表格列
        data1_df= data1_df.drop([0], axis=0) 
        data2_df= data2_df.drop([0], axis=0)         

        #合併表格
        new_df=pd.concat([data1_df,data2_df],ignore_index=True)
        df2.append(new_df)
        if page == 8:
            break
        else:
            
            continue           
    print(df2)
          

上網頁取一天的表格資料,總共有7頁,每頁已處理好DataFrame資料,但是卻無法把7頁資料存放在一起。儲存出來的資料是空的?

Empty DataFrame
Columns: []
Index: []

1 個回答

0
huahualiu
iT邦新手 3 級 ‧ 2021-12-11 09:54:12

你程式一開始就有問題

path2="http://163.29.117.247/port/Portlist.asp?year1=2020&month1=09"+"&day1="+str(a)+"&timer1=01%3A00&timer2=23%3A55&sent=%BDT%A9w&offset="+str(page*40)

driver.get(path2)
data=pd.read_html(path2)

你這行:

driver.get(path2)

根本沒有用變數存結果
下面 pd 也是用 pd 存 path
所以你 df 裡面的東西根本就不正確

我要發表回答

立即登入回答