python json檔案不同風格之間的轉換

2021-08-21 09:23:03 字數 2120 閱讀 1797

有些json檔案的風格是這樣的:資料只有一行,沒有結構,資訊不能一目了然的看出來。

有些json檔案的風格是這樣的:類似於xml檔案,結構清晰。

其實兩種風格的轉換就是字典和列表的讀取與構建。

這是第一種轉換成第二種**:

# -*- coding:utf-8 -*-

import json

import re

test = open("111.json", 'r').read()

test = re.sub('\'','\"',test)

pop_data = json.loads(test)

whole_dict = {}

for key1,info in pop_data.items():

new_dict = {}

l=info['actions']

new_dict['subset'] = info['subset']

new_dict['duration'] = info['duration']

l_list =

for i in range(len(l)):

each_dict = {}

each_l = l[i]

each_dict['tpye'] = each_l[0]

each_dict['time'] = each_l[1]+5

new_dict['action'] = l_list

whole_dict[key1] = new_dict

with open('lables1.json', 'w') as f:

json.dump(whole_dict,f, indent=4)

這是第二種轉換成第一種個的**:

# -*- coding:utf-8 -*-

import json

import re

import os

path_list=

def gci(filepath):

#遍歷filepath下所有檔案,包括子目錄

files = os.listdir(filepath)

for fi in files:

fi_d = os.path.join(filepath,fi)

if os.path.isdir(fi_d):

gci(fi_d)

else:

gci('c:/users/dell/desktop/dir')

for k in range(len(path_list)):

test = open(path_list[k], 'r').read()

pop_data = json.loads(test)

whole_dict = {}

new_dict = {}

actions= pop_data['annotations']

new_dict['subset'] = "training"

new_dict['duration'] = 1

l_list =

for i in range(len(actions)):

each_l = actions[i]

s = re.sub("\d",'',each_l['gametime'] )

gt=list(s)

gt=list(map(int,gt))

if gt[0]==1:

currenttime=(gt[1]*10+gt[2])*60+gt[3]*10+gt[4]

else:

currenttime = 2700 + (gt[1] * 10 + gt[2]) * 60 + gt[3] * 10 + gt[4]

new_dict['actions']=l_list

whole_dict[pop_data['urllocal']]=new_dict

with open(path_list[k], 'w') as f:

json.dump(whole_dict, f)

python json檔案的使用

json是一種輕量級資料交換格式,常用於http請求中,在日常運維工作中經常可以看到 1.json型別和python資料的轉換 函式轉換對應關係表 python json dict object list,tuple array str,unicode string int,long,float n...

python json檔案及csv檔案的讀取和寫入

1 json檔案儲存 import json str print type str data json.loads str json不識別單引號,所有資料都得用雙引號 print data print type data with open data.json w as f json.dump da...

電容麥與其他麥克風有什麼不同?

電容麥與其他麥克風有什麼不同?麥克風的分類 按聲電轉換原理分為 電動式 動圈式 鋁帶式 電容式 直流極化式 壓電式 晶體式 陶瓷式 以及電磁式 碳粒式 半導體式等。電容麥為兩類,一種是話筒式,比如ktv裡的話筒。這種電容麥採用電池供電的手持電容話筒,一般都是5號電池 另一種電容麥是錄音話筒,如電台播...