python 裡面處理json

2021-09-29 09:41:37 字數 1836 閱讀 9276

今天遇到json資料的批量處理

把json轉成csv

其實json檔案就是key value的形式,讀到python就是dict,如果外面套了,讀到python裡面就變成list,讀取的時候需要loads和load的區別

load是對已經讀入到記憶體的檔案的解析為python的變數

loads是從硬碟讀取

我沒有用到dump

對於寫csv,只需要利用csv.writer就可以了

有很多寫入的形式,這裡就轉換成如何把dict和list寫入到csv,很簡單,寫了幾個函式

import json

import csv

import codecs

import os

def acquire_json_file_name(dir_name):

lst =

for root, dirs, files in os.walk(dir_name):

for file in files:

if os.path.splitext(file)[1] == '.json':

return lst

def process_json_single(filename, resname):

file = open(filename, encoding='utf-8')

json_file = json.load(file)

file.close()

f = codecs.open(resname, 'w', 'utf_8_sig')

writer = csv.writer(f)

for item in json_file:

writer.writerow(item.values())

f.close()

def process_all_dir(source_dir, res_dir):

list_name = acquire_json_file_name(source_dir)

for single_name in list_name:

print(single_name)

file_name = source_dir + single_name + '.json'

res_name = res_dir + single_name + '.csv'

process_json_single(file_name, res_name)

def process_all_dir_dict(source_dir, res_dir):

list_name = acquire_json_file_name(source_dir)

for single_name in list_name:

print(single_name)

file_name = source_dir + single_name + '.json'

res_name = res_dir + single_name + '.csv'

file = open(file_name, encoding='utf-8')

json_file = json.load(file)

file.close()

f = codecs.open(res_name, 'w', 'utf_8_sig')

writer = csv.writer(f)

writer.writerow(json_file.values())

if json_file['user'] != 'empty':

writer.writerow(json_file["user"].values())

f.close()

python 處理json資料

以下是登入賬號後獲取的json資料,headers中注意加入cookie值 需要處理的資料如下 全部 如下 response.text 轉換成json格式 dic data dict str datalist dic data dict str datalist 0 userid 取出字典中的字段值...

JSON學習四 JSON裡面的類

json的定義 一種輕量級的資料交換格式,具有良好的可讀和便於快速編寫的特性。業內主流技術為其提供了完整的解決方案 有點類似於正規表示式 獲得了當今大部分語言的支援 從而可以在不同平台間進行資料交換。json採用相容性很高的文字格式,同時也具備類似於c語言體系的行為。json.org 為什麼用jso...

JSON學習四 JSON裡面的類

json的定義 一種輕量級的資料交換格式,具有良好的可讀和便於快速編寫的特性。業內主流技術為其提供了完整的解決方案 有點類似於正規表示式 獲得了當今大部分語言的支援 從而可以在不同平台間進行資料交換。json採用相容性很高的文字格式,同時也具備類似於c語言體系的行為。json.org 為什麼用jso...