1. 程式人生 > >python 處理json檔案

python 處理json檔案

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


"""處理json
Usage:
netCheck <JSONFILE> <SAVEFILE>
"""

from docopt import docopt
import json


def deal_json(JSONFILE, SAVEFILE):
    with open(JSONFILE, 'r', encoding = 'utf-8') as f_read:
        data = json.load(f_read)
        #如果用f_read.read()讀取就需要使用json.loads()方法,將json轉換成python字典
        data_list = data['data']['contact_list']['list']
        #對於字典可直接使用['']來獲取值
        #對於字典中包含list的,需要獲取其長度,分別取出list值後,再使用['']獲取屬性

        for j in range(len(data_list)):
            #data_json = json.loads()
            #print(data_list[j]['depart_ids'])
            if '1688851312330172' in data_list[j]['depart_ids']:
                with open(SAVEFILE, 'a', encoding = 'utf-8') as f_write:
                    f_write.write(data_list[j]['name']+ '\n')
                    #新增上\n是為自動換行
if __name__ == '__main__':
    # 將繫結互動引數
    arguments = docopt(__doc__)
    JSONFILE = arguments['<JSONFILE>']
    SAVEFILE = arguments['<SAVEFILE>']
    deal_json(JSONFILE, SAVEFILE)