簡體   English   中英

如何在 Pandas Dataframe 中組織來自 Selenium 的字符串?

[英]How to organize strings from Selenium in Pandas Dataframe?

**我正在嘗試從 whatsapp 聊天室中提取數據,但無法將數據發送到數據框。

我的代碼是:**

 chatroom = driver.find_element_by_class_name('_1_q7u') pos= 0 df = pd.DataFrame(columns=['Time','Msgs'], index=None) for ol in chatroom.find_elements_by_class_name('message-in'): data = [] msgs = ol.find_elements_by_class_name('woe4f') times = ol.find_elements_by_class_name('_1RNhZ') for msg in msgs: data.append(msg.text) for time in times: data.append(time.text) df.loc[pos] = data pos+=1 print(df)

**錯誤返回的錯誤是“ValueError:無法設置列不匹配的行”,但是當我讓代碼工作時,它只給我帶來了第一個及時和味精的元素,我需要將它們全部組織起來。

菜鳥試圖在這里編碼。**

因此,如果您想使用 loc 將某些內容放入數據框中,則必須確保放入的內容與 df 具有相同的尺寸。 因為您有 2 列,所以您需要 2 樣東西...您可以通過將您的時間放在一個列表中並將您的消息放在一個列表中來實現這一點。

chatroom = driver.find_element_by_class_name('_1_q7u')

pos= 0
df = pd.DataFrame(columns=['Time','Msgs'], index=None)

for ol in chatroom.find_elements_by_class_name('message-in'):
    msgs = [k.text for k in ol.find_elements_by_class_name('woe4f')]
    times = [k.text for k in ol.find_elements_by_class_name('_1RNhZ')]
    df.loc[pos] = [times,msgs]
    pos+=1
    print(df)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM