-
2021-11-10 11:44:53
目前在做的一个实验的数据集包含了两万个json文件,为了能高效读取所有的json文件并转换成dataframe格式以实现端到端的数据处理,不得不写了一个小工具:
try: import ujson as json except ImportError: try: import simplejson as json except ImportError: import json import pandas as pd import os class data_utils(): def __init__(self, data_path): self.data_path = data_path def to_dataframe(self): radar_dataframe = pd.DataFrame() all_files = [os.path.join(root, file) for root, dirs, files in os.walk(self.data_path) for file in files if file.endswith('.json')] data_list = [json.load(open(file)) for file in all_files] df = pd.DataFrame(data_list) return df
更多相关内容 -
Python常用小技巧(五)——批量读取json文件
2019-05-24 11:19:06Python常用小技巧(五)——批量读取json文件 前言:其实Python能够批量读取很多文件,这里,本人以json文件为例(json是标注图片时生成的文件,记录有标注的坐标和标签,友情推荐标注图片的工具:labelme),读取...Python常用小技巧(五)——批量读取json文件
前言:其实Python能够批量读取很多文件,这里,本人以json文件为例(json是标注图片时生成的文件,记录有标注的坐标和标签,友情推荐标注图片的工具:labelme),读取想要的数据。大家也可以稍做修改,去读取其他类型的文件。
一、材料准备
- Python
- os
- json二、代码编写
首先我们来观察一下我们需要处理的json文件
打开json文件,我们可以看到一下内容
我们需要获取的信息是 label 后面标注的种类,还有坐标信息
期望输出的格式是:
结构: n.json x1,y1,x2,y2,lable1 x1,y1,x2,y2,label2 样例: 21.json 203,1,511,116,shoes 248,2,350,44,welt
所以,知道标准后,我们的代码如下:
# -*- coding:utf8 -*- import json from os import listdir import os path = '/home/ljt/Documents/labelme' filelist = listdir(path) #for i in filelist: #print(filelist[0].split(".")[0]) # i.split() fileIndex =[] #文件名读入时并非按照我们常识中的按照文件名字顺序读入, #例如:1.json,2.json,3.json;程序可能会按 3,1,2 的顺序读入, #这对我们后面批量处理造成很大的不便,所以读入文件名后, #我们要手动地对文件名进行一次排序 #以下就是排序操作 for i in range(0,len(filelist)): index = filelist[i].split(".")[0] fileIndex.append(int(index)) #new_filelist =[] for j in range(1,len(fileIndex)): for k in range(0,len(fileIndex)-1): if fileIndex[k]>fileIndex[k+1]: preIndex = fileIndex[k] preFile = filelist[k] fileIndex[k] = fileIndex[k+1] filelist[k] = filelist[k+1] fileIndex[k+1] =preIndex filelist[k+1] = preFile #完成排序后,开始按照文件名顺序读取文件内容信息 data = []#记录每个文件最终信息的列表 labelpath = '/home/ljt/Documents/labelme/' for file in filelist: with open(labelpath+file, 'r') as txt: lines = txt.readlines() eachdata = []#记录单个文件信息的列表 eachdata.append(file) # fileName for each in range(0,len(lines)): word = lines[each].split('"') for i in range(0,len(word)): if word[i] == 'shoes': eachdata.append(int(int(lines[each + 5].split(',')[0]) * 416 / 512)) eachdata.append(int(int(lines[each + 6].split(',')[0]) * 416 / 512)) eachdata.append(int(int(lines[each + 9].split(',')[0]) * 416 / 512)) eachdata.append(int(int(lines[each + 10].split(',')[0]) * 416 / 512))#(xmin,ymin,xmax,ymax,'shoes') eachdata.append('0') elif word[i] == 'welt': eachdata.append(int(int(lines[each + 5].split(',')[0]) * 416 / 512)) eachdata.append(int(int(lines[each + 6].split(',')[0]) * 416 / 512)) eachdata.append(int(int(lines[each + 9].split(',')[0]) * 416 / 512)) eachdata.append(int(int(lines[each + 10].split(',')[0]) * 416 / 512)) # (xmin,ymin,xmax,ymax,'shoes') eachdata.append('1') txt.close() data.append(eachdata) #记录完成后,开始将数据写入txt文件 with open('data.txt', 'w') as txt: for eachdata in data: line =eachdata[0]+' ' i=0 for i in range(1,len(eachdata)): if i % 5 ==0 and i > 1 and i!=len(eachdata)-1: s =str(eachdata[i])+' ' line = line + s elif i==len(eachdata)-1: line = line + str(eachdata[i]) else: s=str(eachdata[i])+',' line = line+s lines=line.replace('json','jpg')+'\n' txt.writelines('resize/'+lines) txt.close() print('finish') # line='json' # while line: # line = txt.readline() # word = line.split() # for i in range(0,len(word)): # if word[i] == "shoes":
最终,我们能够得到一个这样的txt文件
其中 0代表的是shoes,1代表welt
-
如何利用python批量读取多个json文件,并删除其中的重复点坐标?
2020-08-12 15:08:591. json 的数据格式如下所示: { "type": "Feature", "properties": { "MC": null, "PWH": null, "SJ": "2015", "YDDM": "S41"}, "geometry": { "type": ...3. 一个文件夹中有多个json,需要批量读取并删除。 -
【Python】批量读取文件夹中的json文件
2021-12-22 11:24:46场景:读取文件夹中的json文件后,循环请求稠州接口 import os import requests from urllib.parse import quote import re import json url = "http://172.30.2.74:6998/ruleCheck/validCheatTestJson" headers...场景:读取文件夹中的json文件后,循环请求稠州接口
import os import requests from urllib.parse import quote import re import json url = "http://172.30.2.74:6998/ruleCheck/validCheatTestJson" headers = {'Content-Type': 'application/x-www-form-urlencoded', "charset": "utf-8" } #读取文件夹中的文件名 fileList=os.listdir('C:\\Users\\99063\\Desktop\\json\\') print(fileList) #循环读取文件,并请求 for json_id in fileList: print(json_id) # json_idid="6-1.json" with open("C:\\Users\\99063\\Desktop\\json\\"+json_id, "r",encoding="utf-8") as f: # 打开文件 data = f.read() # 读取文件 #print(data) #reqdata='reqBody=%s'%data reqdata = 'reqBody=' + quote(data, 'utf-8') #print(reqdata) res = requests.post(url=url,data=reqdata.encode('utf-8'), headers=headers) print(res.text)
-
Python :批量获取json文件的数据
2019-08-29 17:18:04Python :批量获取json文件的数据 前提:假设所有的json文件都放在同一文件夹下(data_dir) ...首先,通过os.listdir(data_...最后,通过info=json.load(j)来读取json文件内的内容,可以通过info['name']来获...Python :批量获取json文件的数据
-
前提:假设所有的json文件都放在同一文件夹下(data_dir)
-
获取步骤:
- 首先,通过
os.listdir(data_dir)
获取路径data_dir
下的所有文件的名称 - 其次,通过
j=open(json_name)
来打开json文件 - 最后,通过
info=json.load(j)
来读取json文件内的内容,可以通过info['name']
来获取json中name对应项的值。具体代码如下:
- 首先,通过
其中,我的json文件内容格式如下图所示:
import os import json def get_car_json_info(data_dir): # get json file_names all_json=os.listdir(data_dir) for j_name in all_json: # open json file j=open(data_dir+j_name) # load info in json info=json.load(j) # get value of '__manufacturer__' and '__year__' print(info['__manufacturer__'],info['__year__'])
结果如下图所示:
-
-
python如何批量的读取json格式的数据
2017-03-04 03:06:29我现在需要处理一批不断传入的json格式的数据,格式是这样的: > comsou 0 {"id":"F45EAB09792C","v":"0.10","mid":5221,"raw_beacons_data":"123B6A1ABAD1B5;123B6A1ABAC1B5;"} comsou 0 {"id":"F45EAB09792C","v":... -
python批量将json文件转换成xml文件
2022-05-05 10:41:25首先这是文件夹的文件目录,其中labeljson文件夹下放标注的json文件,trainset文件夹下面放标注的jpg和json文件,最终生成的xml文件会放在Annotations下 代码如下: #########################4、对.json格式的标签... -
读取一个文件中的多个json数据
2020-09-22 22:04:49读取一个文件中的多个json数据,可能还存在一些bug.为什么要超过50个字!看不起我的概括能力吗? -
Python实现读取json文件到excel表
2021-02-11 02:51:11本文实例为大家分享了Python实现读取json文件到excel表,供大家参考,具体内容如下一、需求1、'score.json' 文件内容:{"1":["小花",99,100,98.5],"2":["小王",90,30.5,95],"3":["小明",67.5,49.6,88]}2、读取json... -
python学习-119-实现json文件批量提取键值对到xlsx文件
2022-06-05 21:30:07前言:上次已经将了将json文件数据批量提取到了csv文件中,但是有时xlsx格式的文件更为方便,所以今天就把xlsx的文件也提取出来了,本博客讲实现对json文件批量的数据提取,并提取到xlsx文件中输出。注意:csv库直接... -
python 批量将json格式的数据提取成单个json格式
2020-12-11 18:02:16你是不是对成堆的json数据无法下手?想将其拆分成单个json,ok, -
python批量修改json文件
2021-01-12 09:53:02import jsonimport ospath = 'G:\Desktop\要修改文件的目录'dirs = os.listdir(path)num_flag = 0for file in dirs: # 循环读取路径下的文件并筛选输出if os.path.splitext(file)[1] == ".json": # 筛选csv文件nu... -
python学习-118-实现json文件批量提取键值对到csv文件
2022-06-05 21:21:52前言:上次讲到json文件的批量格式化处理,本博客讲实现对json文件批量的数据提取,并提取到csv文件中输出。 问题场景: 成百上千的json文件,具有几乎相同的格式 需要简单重复的复制出json文件中某一个键值对的值... -
python批量修改json文件中的指定字符
2020-07-29 13:08:44python批量修改json文件中的指定字符win10 win10 在linux里一行代码就可以直接替换,但是windows我没找到这个功能,就只能用python了 代码如下: 实现了遍历目录下所有json文件,然后替换所有标签为lesionArea的... -
Python提取json文件内容,json转SCV最简单方法,地主家的乖宝宝都会用~
2022-04-22 10:40:54一、json转csv :将json中的数据转换成csv文件 import json import csv """ 需求:将json中的数据转换成csv文件 """ def json_to_csv(): # 1.分别 读,创建文件 json_fp = open("word.json", "r",encoding='utf-8... -
Python读取json文件,并将其写入excel
2021-04-18 16:03:33需要对一批谣言数据进行处理,该数据集是由清华大学自然语言处理与社会人文计算实验室整理的与疫情相关的谣言数据。 数据集的整体构成如下,共有324个文件,皆放在rumor_...1.Python读取json文件 (1)首先以读取一个文 -
python写入和读取json文件
2021-07-05 20:01:34目录json教程python写入json文件python写入json文件参考完 涉及批量数据的时候,json真的挺好 json教程 JSON 教程:https://www.runoob.com/json/json-tutorial.html Python3 JSON 数据解析:... -
python读取json文件并将数据插入到mongodb的方法
2020-12-10 09:18:24#coding=utf-8import sunburntimport urllibfrom pymongo import Connectionfrom bson.objectid import ObjectIdimport loggingfrom datetime import datetimeimport jsonfrom time import mktimefrom feedparser im... -
python 导入 json 文件到 MongoDB 中
2021-10-21 13:36:06当前有一个 json 文本文件,包括结构和数据,希望通过 python 导入到 mongoDB 中。 数据准备 根据自己的需要填写 json 文件,也可以考虑使用好用的可视化工具进行编写,这里推荐使用的是 PlistEdit ,因为平时用得少... -
盘点Python中4种读取json文件和提取json文件内容的方法
2021-12-04 00:34:54点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤古调虽自爱,今人多不弹。大家好,我是Python进阶者。前言前几天在才哥的... -
python批量生成json数据并解决微信小程序导入json数据出错问题
2021-11-27 10:52:59微信小程序云开发数据库提供了从本地导入本地json数据的功能,因此当数据量很大的时候我们可以在本地用python批量生成json数据,然后再上传至云开发数据库中 一、python数据处理 1.思路 使用xlrd读取本地数据,获取... -
读取json文件切割图集
2018-09-20 22:37:39读取json文件切割图集,支持按目录批量裁剪,保留命名 -
利用Python解析json文件
2020-11-28 04:21:30写在前面在金融风控领域,我们经常会使用到json格式的数据,例如运营商数据、第三方数据等。而这些数据往往不能直接作为结构化数据进行分析和建模。本文将介绍一种简单的、可复用性高的基于pandas的方法,可以快速地... -
如何使用Java读取JSON文件的内容?
2021-03-09 19:46:15JSON或JavaScript Object Notation是一种轻...JSON使用的约定是程序员已知的,包括C,C ++,Java,Python,Perl等。JSON文档样本-{"book":[{"id":"01","language":"Java","edition":"third","author":"HerbertSchild... -
Python学习笔记 --- python实现修改json文件
2021-01-13 03:04:54基本原理就是通过读取文件,将json数据读取出来,然后进行修改,再写回文件中。# -*- coding:utf-8 -*-import jsondef process_json(input_json_file, output_json_file):file_in = open(input_json_file, "r")file_... -
python学习-117-实现json文件批量格式化
2022-06-05 19:08:58python实现json文件的批量格式化。 -
python批量修改文件后缀示例代码分享
2020-12-23 21:00:48ipad的goodreader对JS文件支持不太好,虽然可以读取它但总是无法退出,回不了goodreader的主界面,因此我需要把js文件批量变成纯文本。基于这个目的,我搞了下面一个小应用:复制代码 代码如下:# -*- coding:utf-8 -*... -
python json文件写入到excel
2022-02-11 15:37:50import json def json_excel(data): # 创建excel工作表 workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('skiing') # 写表头 for index, val in enumerate(data[0].keys()): ... -
python批量读取txt文件并使用mysql批量插入
2019-08-19 17:59:42python 从文件读写,mysql批量插入数据 采用了两种方法,第一中直接向mysql插入随机测试数据,第二种采用读写文件从文件中读入数据插入mysql,适合从生产环境导入数据到测试环境库。 如果数据量很大的话,读取一条... -
python读取json文件,大批量写入mongo
2020-07-15 15:37:201.需求:现在要求将服务器上523GB的json文件,导入到mongo库中,由于mongoimport 速度在25MB/s, 现在用脚本多进程将数据读取,在写入mongo中. 2.源码: # -*- coding: utf-8 -*- ... @功能 :读取json文件,存入mongo """ #...