簡體   English   中英

如何將評論文本和評論評分附加到列表中

[英]How do I append reviews text and reviews rating to a list

我寫一個程序,分析在線評論,並根據收視率,存儲的審查進入review_text和相應的等級為review_label為陽性(4分)或陰性(1,2&3星級)。

嘗試使用以下代碼添加評論文本並查看每篇評論的標簽信息,但沒有成功。

rev = ['review_text', 'review_label']
for file in restaurant_urls:
    url_rev= file
    html_r_r=requests.get(url_rev).text
    doc_rest=html_r_r

    soup_restaurant_content= BeautifulSoup(doc_rest, 'html.parser')
    star_text = soup_restaurant_content.find('img').get('alt')
    if star_text in ['1-star','2-star','3-star']:
        rev['review_label'].append('Negative')
    elif star_text in ['4-star','5-star']:
        rev['review_label'].append('Positive')
    else:
        print('check')
    rev['review_text'].append(soup_restaurant_content.find('p','text').get_text())

我要評論將被存儲在列表rev與存儲在列中的評論文章review_text和審核標簽(無論正或負)下review_label 它看起來像

'review_text'    'review_label'
 review_1         positive
 review_2         negative

我認為你誤解列表是如何工作的,因為列表沒有列。 在您的情況下, rev是一個包含兩個項目的列表,您可以將新項目添加到列表中(例如, rev.append('review_user')將導致rev如下所示: ['review_text', 'review_label', 'review_user'] )。 但是,您無法將項目添加到列表中的項目(您似乎正在嘗試使用rev['review_label'].append('Negative') )。

在這個特定情況下,我認為最好的解決方案是有兩個單獨的列表,一個用於評論文本,一個用於評論標簽,並相應地附加相應的項目:

review_text = []
review_label = []

...

review_text.append(SOMETEXT)
review_label.append(SOMELABEL)

如果您想要在數據框中包含數據,可以像這樣使用pandas:

import pandas as pd
pd.DataFrame({"review_text": review_text, "review_label": review_label})

這應該給你你想要的。 需要注意的是review_textreview_label必須具有相同的長度(他們應該這么做,你的情況)。 我希望這有幫助! 如果您有任何疑問,請評論。

暫無
暫無

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

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