我对数据挖掘很感兴趣,我正在撰写关于它的论文。对于我的论文,我想使用yelp的数据挑战的数据集,但是我无法打开它,因为它是json格式,差不多2 gb。在其网站上,据说可以使用mrjob在phyton中打开数据集,但我对编程也不是很好。我在网上搜索并查看了github中提供的一些代码yelp但是我似乎无法找到一篇文章或其他解释如何打开数据集的内容。 您能否一步一步地告诉我如何打开此文件,以及如何将其转换为csv?
答案 0 :(得分:2)
是的,你可以使用熊猫。看看:
import pandas as pd
# read the entire file into a python array
with open('yelp_academic_dataset_review.json', 'rb') as f:
data = f.readlines()
# remove the trailing "\n" from each line
data = map(lambda x: x.rstrip(), data)
data_json_str = "[" + ','.join(data) + "]"
# now, load it into pandas
data_df = pd.read_json(data_json_str)
现在' data_df'包含yelp数据;) 例如,您想将其直接转换为csv,您可以使用此脚本
https://github.com/Yelp/dataset-examples/blob/master/json_to_csv_converter.py
我希望它可以帮到你
答案 1 :(得分:1)
要处理巨大的json文件,请使用流解析器。
这些文件中有许多不是单个json,而是jsons流(称为" jsons格式")。然后一个普通的json解析器会考虑除了第一个条目之外的所有东西。
使用流解析器,您可以开始读取文件,处理部件,并将它们写入所需的输出;然后继续写作。
没有单一的json-to-csv转换。
因此,您将找不到常规转化实用程序,您必须根据需要自定义转化。
原因是JSON是树,但CSV不是。从树到表行没有最终和有效的转换。除非你总是从树中提取相同的x属性,否则我会坚持使用JSON。
开始编码,成为更好的程序员。 要想获得如此大量的数据,需要才能成为更好的程序员。
答案 2 :(得分:0)
数据是.tar格式当你再次提取它时它有另一个文件,将它重命名为.tar然后解压缩它。你将得到所有的json文件