首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将评论文本和评论评分附加到列表

如何将评论文本和评论评分附加到列表
EN

Stack Overflow用户
提问于 2019-05-03 08:34:26
回答 1查看 182关注 0票数 0

我正在写一个分析在线评论的程序,基于评级,将评论存储到review_text中,并将相应的评级存储到review_label中,作为正面(4&5星)或负面(1,2&3星)。

尝试使用以下代码添加每次审核的审核文本和审核标签信息,但未成功。

代码语言:javascript
运行
复制
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下。它看起来会像这样

代码语言:javascript
运行
复制
'review_text'    'review_label'
 review_1         positive
 review_2         negative
EN

回答 1

Stack Overflow用户

发布于 2019-05-03 08:51:11

我认为你误解了列表是如何工作的,因为列表没有列。在您的示例中,rev是一个包含两个项的列表,您可以向列表中添加新项(例如,rev.append('review_user')将导致rev如下所示:['review_text', 'review_label', 'review_user'])。但是,您不能将项目添加到列表中的项目中(似乎您正在尝试使用rev['review_label'].append('Negative')来执行此操作)。

在这种特定情况下,我认为最好的解决方案是有两个单独的列表,一个用于审查文本,另一个用于审查标签,并相应地附加相应的项目:

代码语言:javascript
运行
复制
review_text = []
review_label = []

...

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

如果你想将数据放在数据框中,你可以像这样使用pandas:

代码语言:javascript
运行
复制
import pandas as pd
pd.DataFrame({"review_text": review_text, "review_label": review_label})

这应该会给你想要的东西。请注意,review_textreview_label必须具有相同的长度(在您的示例中应该是相同的长度)。我希望这能帮到你!如果您有任何问题,请留言。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55961871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档