python处理json文件(Yelp数据集)
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数据集)的更多相关文章
- python中json文件处理涉及的四个函数json.dumps()和json.loads()、json.dump()和json.load()的区分
一.概念理解 1.json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串) (1)json.dumps()函数是将一个Python数据类型列表进行js ...
- python 读写json文件(dump, load),以及对json格式的数据处理(dumps, loads)
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. 1.json.dumps()和json.loads()是json ...
- python 读写 json文件
json的优势: 1. 数据体积方面. JSON相对于XML来讲,数据的体积小,传递的速度更快些. 2. 传输速度方面. JSON的速度要远远快于XML 3. 数据格式 数据格式比较简单, 易于读写, ...
- python操作json文件
import json class OperationJson(object): def __init__(self,file_name=None): if file_name: self.file_ ...
- python批量json文件转xml文件脚本(附代码)
场景:在使用了mask rcnn跑实验后标注了大量地json格式文件,现在打算使用yolo和faster rcnn 跑实验 所以需要将之前地json文件转为xml 但是找了很久,没发现有批量处 ...
- python操作json文件获取内容
写case时,将case 写到json文件比写到,写python一定要学会处理json 以下,是要处理的json 处理操作包括:打开json文件,获取json文件内容,关闭json文件,读取内容中的对 ...
- python解析jSON文件
一.jSON文件 http://baike.baidu.com/link?url=wYeeLnhpXX-Tt8AoBRSNPh2P7Z2YHyK2tdD1tbBOQMfJIpA-YNHMOg2ZN6a ...
- python读取json文件
比如下图json数据,场景需要读取出wxid这项数据,然后传给后面的函数去使用 具体的脚本为 import json f =open('d:\\1024.json',encoding='utf-8') ...
- python读取json文件制作股票价格走势
随机推荐
- cp:复制文件和目录
cp 命令,主要用来复制文件和目录,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能. cp 命令的基本格式如下:cp [选项] 源文件 目标目录/文件 选项: -a:相 ...
- unittest详解(三) 测试套件(TestSuite)
在前面一章中示例了如何编写一个简单的测试,但有两个问题: 我们知道测试用例的执行顺序是根据测试用例名称顺序执行的,在不改变用例名称的情况下,我们怎么来控制用例执行的顺序呢? 一个测试文件,我们直接执行 ...
- CF1213D Equalizing by Division
easy version hard version 问题分析 直接从hard version入手.不难发现从一个数\(x\)能得到的数个数是\(O(\log x)\)的.这样总共有\(O(n\log ...
- BZOJ 1488 Luogu P4727 [HNOI2009]图的同构 (Burnside引理、组合计数)
题目链接 (Luogu) https://www.luogu.org/problem/P4727 (BZOJ) https://www.lydsy.com/JudgeOnline/problem.ph ...
- 实体字符转换,同样变量密码加盐MD5后生成的加密字符串不同解决办法 (原)
我是首次登录系统自动生成一个密码,格式大概是: abcd1234& 这种格式 , 比如加密规则就是一个 MD5() 然后,首次账号密码登录,输入密码 abcd1234&,一直提示 ...
- [EOJ Monthly2019.11][T4]安全带
以下是题干 D. 安全带 单点时限: 1.0 sec 内存限制: 256 MB (前面题干是一堆废话,我把它删了) 简单来说:初始给出一个 n 个点顺次连接而成的环,点有点权,边权是两个端点的点权乘积 ...
- 分布式-信息方式-ActiveMQ构建应用
ActivemQ构建应用Broker:相当于一个 ActiveMQ服务器实例命令行启动参数示例如下:1 ...
- C++入门经典-例3.1-判断输入的数字是否为奇数
1:代码如下: // 3.1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...
- Hibernate持久化类规则
注意事项: 提供无参的构造方法,因为在hibernate需要使用反射生成类的实例 提供私有属性,并对这些属性提供公共的setting和getting方法,因为在hibernate底层会将查询到的数据进 ...
- JS Generator yield
function show() { console.log('a') console.log('b') } show() // 普通函数 function *show2() { console.log ...