python脚本处理yelp数据集

import sys
import json
import re
import os
import time if __name__ == '__main__': dataset_sizes = {'sample': (40, 10), 'small': (1280, 320), 'medium': (32000, 8000), 'large': (2000000, 400000)}
dataset_name = sys.argv[1]
num_train, num_test = dataset_sizes[dataset_name] os.chdir('yelp_dataset')
os.system('head -n ' + str(num_train + num_test) + ' review.json > temp.json')
os.system('mv temp.json ..')
os.chdir('..') with open('temp.json', 'r') as f:
dataset = f.read().split('\n')
dataset.remove('') print("Done loading in dataset") try:
os.mkdir('datasets')
except:
pass
os.chdir('datasets')
try:
os.mkdir(dataset_name)
except:
pass
os.chdir(dataset_name) train = open('train.txt', 'w')
test = open('test.txt', 'w') reviews = [json.loads(review) for review in dataset] count = 1
total = len(reviews)
for review in reviews:
review_id = review['review_id'] num_stars = review['stars']
if num_stars > 4.0:
num_stars = 5
elif num_stars > 2.0:
num_stars = 3
else:
num_stars = 1 review_text = review['text']
review_text = re.sub(r'[^\w\s]','', review_text).replace("\n", "").replace("\r", "").lower()
if num_train > 0:
train.write(str(review_id) + ' ' + str(num_stars) + ' ' + str(review_text))
train.write('\n')
num_train -= 1
elif num_test > 0:
test.write(str(review_id) + ' ' + str(num_stars) + ' ' + str(review_text))
test.write('\n')
num_test -= 1 bar_len = 30
filled_len = int(round(bar_len * count / float(total))) percents = round(100.0 * count / float(total), 1)
bar = '=' * filled_len + '-' * (bar_len - filled_len) sys.stdout.write("\r[%s] %s%s ... %d/%d reviews created" % (bar, percents, '%', count, total))
sys.stdout.flush() count += 1 sys.stdout.write("\n") train.close()
test.close()
os.chdir('../../')
os.system('rm -f temp.json')

python处理json文件(Yelp数据集)的更多相关文章

  1. python中json文件处理涉及的四个函数json.dumps()和json.loads()、json.dump()和json.load()的区分

    一.概念理解 1.json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串) (1)json.dumps()函数是将一个Python数据类型列表进行js ...

  2. python 读写json文件(dump, load),以及对json格式的数据处理(dumps, loads)

    JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. 1.json.dumps()和json.loads()是json ...

  3. python 读写 json文件

    json的优势: 1. 数据体积方面. JSON相对于XML来讲,数据的体积小,传递的速度更快些. 2. 传输速度方面. JSON的速度要远远快于XML 3. 数据格式 数据格式比较简单, 易于读写, ...

  4. python操作json文件

    import json class OperationJson(object): def __init__(self,file_name=None): if file_name: self.file_ ...

  5. python批量json文件转xml文件脚本(附代码)

    场景:在使用了mask rcnn跑实验后标注了大量地json格式文件,现在打算使用yolo和faster rcnn 跑实验 所以需要将之前地json文件转为xml     但是找了很久,没发现有批量处 ...

  6. python操作json文件获取内容

    写case时,将case 写到json文件比写到,写python一定要学会处理json 以下,是要处理的json 处理操作包括:打开json文件,获取json文件内容,关闭json文件,读取内容中的对 ...

  7. python解析jSON文件

    一.jSON文件 http://baike.baidu.com/link?url=wYeeLnhpXX-Tt8AoBRSNPh2P7Z2YHyK2tdD1tbBOQMfJIpA-YNHMOg2ZN6a ...

  8. python读取json文件

    比如下图json数据,场景需要读取出wxid这项数据,然后传给后面的函数去使用 具体的脚本为 import json f =open('d:\\1024.json',encoding='utf-8') ...

  9. python读取json文件制作股票价格走势

随机推荐

  1. 论文阅读:Offloading Distributed Applications onto SmartNICs using iPipe

    摘要: 包含丰富计算资源的新兴多核SoC SmartNIC具有卸载通用数据中心服务器任务的潜力,但是目前尚不清楚如何有效地使用SmartNIC并最大程度地减少卸载收益,尤其是对于分布式应用程序. 为此 ...

  2. R_Studio读取xls文件

    百度经验 传送门 需要包xlsx 依赖包rjava 需要安装java编译环境 在R Console中执行命令install.packages("rjava"),install.pa ...

  3. 分布式-信息方式-ActiveMQ的静态网络连接

                           ActiveMQ的静态网络连接 在一台服务器上启动多个Broker步骤如下:1:把整个conf文件夹复制一份,比如叫做conf22:修改里面的 activ ...

  4. 第九周总结&实验报告七

    小结:这周请了一天的假,所以回来的时候有些知识点跟不上,不过在第二节课学到了关于IO的知识很重要,对于这次的实验也有些吃力,这周的知识点主要集中在书上,在各种不同条件下学习运用什么样的代码.   一. ...

  5. 【Spark机器学习速成宝典】基础篇04数据类型(Python版)

    目录 Vector LabeledPoint Matrix 使用C4.5算法生成决策树 使用CART算法生成决策树 预剪枝和后剪枝 应用:遇到连续与缺失值怎么办? 多变量决策树 Python代码(sk ...

  6. EBS 清除高速缓存

    以R12.1.3为例: 以 “功能管理员 ”职责打开OAF界面 然后依次点击“核心服务”->“高速缓存结构”->“全局配置”->“清除所有高速缓存”->“是”,即可

  7. 何为受控组件(controlled component)

    在 HTML 中,类似 , 和 这样的表单元素会维护自身的状态,并基于用户的输入来更新:当用户提交表单时,前面提到的元素的值将随表单一起被发送.但在 React 中会有些不同,包含表单元素的组件将会在 ...

  8. 字面常量 kotlin(2)

    字面常量数值常量字面值有以下几种:十进制: 123Long 类型用大写 L 标记: 123L十六进制: 0x0F二进制: 0b00001011注意: 不支持八进制Kotlin 同样支持浮点数的常规表示 ...

  9. python - yeild

    带有yield的函数不仅仅只用于for循环中,而且可用于某个函数的参数,只要这个函数的参数允许迭代参数.比如array.extend函数,它的原型是array.extend(iterable). 带有 ...

  10. [Flask]使用sqlite数据库

    app.py from flask import Flask from flask_sqlalchemy import SQLAlchemy import os basedir = os.path.a ...