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. k8s中flannel:镜像下载不了

    重新部署一套K8S集群时,由于K8S需要扁平化的网络,所以当执行下面的 root@master ~]# kubectl apply -f kube-flannel.yml 会开始下载镜像,然后去启动, ...

  2. 1502: [NOI2005]月下柠檬树

    一堆圆台平行光的投影 在草稿纸上画一下,发现对于一个圆,它投影完还是一个半径不变的圆. 定义树的轴在投影平面上经过的点为原点,定一个正方向,建立平面直角坐标系, 能发现,对于一个半径为\(r\),高度 ...

  3. CentOS7 服务器上如何安装python3

    1.官网下载python3的源码包 网址:https://www.python.org/ 进去之后点击导航栏的Downloads,也可以鼠标放到Downloads上弹出菜单选择Source code, ...

  4. oracle ROW_NUMBER() OVER(PARTITION BY '分组' ORDER BY '排序' DESC) 用法

    转载:https://blog.csdn.net/dbagaoshou/article/details/51330829 SELECT * FROM ( SELECT ROW_NUMBER() OVE ...

  5. 关于synchronized和ReentrantLock之多线程同步详解

    一.线程同步问题的产生及解决方案 问题的产生: Java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查),将会导致数据不准确,相互之间产生冲突. 如下例:假设有一个卖票 ...

  6. C++入门经典-例2.3-在print函数中使用附加符号

    1:代码如下: // 2.3.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" int main() { ; /*定义长整型变量,为其赋值*/ ...

  7. SSM三大框架整合配置详解

    首先,导入框架所需要的全部jar包(此处省略...........) 第一步:先从mybatis框架开始 我们只需要在mybatis的核心配置文件sqlConfigXml里写上这么一段话,代表的是给p ...

  8. Spring之AOP配置

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  9. DeepFaceLab进阶:H128,DF,SAE模型有何不同?哪个最好?

    整个换脸过程中模型是最重要的一部分,耗时久,调优难,很多人虽然一直在跑模型,却并不知道每个模型的特点. 我也常常被问及: 到底用哪个模型换脸效果最好? H128和DF有什么差别? H64和H28有什么 ...

  10. Iris Classification on Keras

    Iris Classification on Keras Installation Python3 版本为 3.6.4 : : Anaconda conda install tensorflow==1 ...