如何用Python读取Amazon的Review数据

简介: 如何用Python读取Amazon的Review数据

正文


Amazon(http://jmcauley.ucsd.edu/data/amazon/)(https://nijianmo.github.io/amazon/index.html)数据集包含来自亚马逊的产品评论和元数据,其中包括1996年5月至2014年7月的1.428亿条评论。


如果我们需要用到Amazon的评论数据,那就要先下载好数据集

29.png

下载下来的数据集是json格式的,并且不能直接用python的json库读取,数据字段和格式示例为:

{"overall": 4.0, "verified": true, "reviewTime": "03 11, 2014", "reviewerID": "A240ORQ2LF9LUI", "asin": "0077613252", "style": {"Format:": " Loose Leaf"}, "reviewerName": "Michelle W", "reviewText": "The materials arrived early and were in excellent condition.  However for the money spent they really should've come with a binder and not just loose leaf.", "summary": "Material Great", "unixReviewTime": 1394496000}

含义分别是:

"overall": 评论者对产品的评分, 
"verified": true, 
"reviewTime": 评论的日期, 
"reviewerID": 评论者的ID, 
"asin": 产品的ID, 
"style": 产品的元数据(字典), 
"reviewerName": 评论者的名称, 
"reviewText": 评论的内容, 
"summary": 评论内容的总结, 
"unixReviewTime": 评论的时间戳(Unix),


为了方便读取评论数据,我写了一段代码供大家参考:

import pandas as pd
if __name__ == '__main__':
    dataset = "All_Beauty" # 以All_Beauty数据集为例
    fin = open(dataset +".json", 'r')
    review_list = [] # 存储筛选出来的字段,如果数据量过大可以尝试用dict而不是list
    for line in fin: # 顺序读取json文件的每一行
        d = eval(line, {"true":True,"false":False,"null":None})
        if d["overall"] == 5 and "reviewText" in d.keys(): # 筛选出评分为5的数据
            review_list.append([d["reviewerID"], d["asin"], d["reviewText"]]) # 将评论者ID、商品ID和评论内容存储到list中
    df = pd.DataFrame(review_list, columns =['user_id', 'item_id', 'review_text']) # 转换为dataframe
    print(df[:10]) # 预览
    # df.to_csv('All_Beauty.csv', index=False) # 存储

All_Beauty数据集大约7s可以处理完毕,预览效果如下:

30.png

相关文章
|
2天前
|
XML 前端开发 数据格式
BeautifulSoup 是一个 Python 库,用于从 HTML 和 XML 文件中提取数据
BeautifulSoup 是 Python 的一个库,用于解析 HTML 和 XML 文件,即使在格式不规范的情况下也能有效工作。通过创建 BeautifulSoup 对象并使用方法如 find_all 和 get,可以方便地提取和查找文档中的信息。以下是一段示例代码,展示如何安装库、解析 HTML 数据以及打印段落、链接和特定类名的元素。BeautifulSoup 还支持更复杂的查询和文档修改功能。
9 1
|
4天前
|
存储 JSON 数据挖掘
python序列化和结构化数据详解
python序列化和结构化数据详解
12 0
|
4天前
|
数据采集 数据可视化 数据挖掘
Python 与 PySpark数据分析实战指南:解锁数据洞见
Python 与 PySpark数据分析实战指南:解锁数据洞见
|
4天前
|
数据采集 数据处理 开发者
Python 中的数据处理技巧:高效数据操作的艺术
Python 在数据处理方面表现卓越,为开发者提供了丰富的工具和库以简化数据操作。在本文中,我们将探讨 Python 中数据处理的一些技巧,包括数据清洗、数据转换以及优化数据操作的最佳实践。通过掌握这些技巧,您可以在 Python 中更加高效地处理和分析数据。
|
6天前
|
机器学习/深度学习 自然语言处理 算法
Python遗传算法GA对长短期记忆LSTM深度学习模型超参数调优分析司机数据|附数据代码
Python遗传算法GA对长短期记忆LSTM深度学习模型超参数调优分析司机数据|附数据代码
|
6天前
|
开发者 索引 Python
Python中调整两列数据顺序的多种方式
Python中调整两列数据顺序的多种方式
25 0
|
6天前
|
SQL API 数据库
在Python中获取筛选后的SQL数据行数
在Python中获取筛选后的SQL数据行数
16 1
|
6天前
|
数据可视化 Python
python中Copula在多元联合分布建模可视化2实例合集|附数据代码
python中Copula在多元联合分布建模可视化2实例合集|附数据代码
|
6天前
|
数据处理 Python
Python中每个字段增加多条数据的高效方法
Python中每个字段增加多条数据的高效方法
11 1
|
6天前
|
数据挖掘 测试技术 数据处理
在python读取相邻两行的数据进行运算
在python读取相邻两行的数据进行运算
9 1