Python讀取Json字典寫入Excel表格的方法
需求:
因需要將一json文件中大量的信息填入一固定格式的Excel表格,單純的復(fù)制粘貼肯定也能完成,但是想偷懶一下,于是借助Python解決問題。
環(huán)境:
Windows7 +Python2.7 +Xlwt
具體分析:
原始文件為json列表,列表中有多個字典,生成Excel文件需要將列表中的字典的鍵值按鍵對應(yīng)排列,也就是說,所有為“XX”的鍵對應(yīng)的值寫在一列,且每個字典中的不同鍵的鍵值保證在同一行。
解決思路是,讀取json文件,然后遍歷字典的鍵和值,讀完第一個字典并寫入Excel后換行,讀取第二個字典。
代碼:
# -*- coding: utf-8 -*- import xlwt import json # 創(chuàng)建excel工作表 workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1') # 設(shè)置表頭 worksheet.write(0, 0, label='NAME') worksheet.write(0, 1, label='LEN') worksheet.write(0, 2, label='ID') worksheet.write(0, 3, label='OTHER') # 讀取json文件 with open('test.json', 'r') as f: data = json.load(f) # 將json字典寫入excel # 變量用來循環(huán)時控制寫入單元格,感覺有更好的表達方式 val1 = 1 val2 = 1 val3 = 1 val4 = 1 for list_item in data: for key, value in list_item.items(): if key == "NAME": worksheet.write(val1, 0, value) val1 += 1 elif key == "LEN": worksheet.write(val2, 1, value) val2 += 1 elif key == "ID": worksheet.write(val3, 2, value) val3 += 1 elif key == "OTHER": worksheet.write(val4, 3, value) val4 += 1 else: pass # 保存 workbook.save('OK.xls')
輔助文件:
test.json [ { "OTHER": "code", "NAME": "whc", "LEN": 100, "ID": "01-0001" }, { "OTHER": "house", "NAME": "ikd", "LEN": 200, "ID": "01-0002" }, { "OTHER": "thank", "NAME": "qxf", "LEN": 300, "ID": "01-0003" }, { "OTHER": "music", "NAME": "kmn", "LEN": 400, "ID": "01-0004" }, { "OTHER": "big", "NAME": "vbf", "LEN": 500, "ID": "01-0005" }, { "OTHER": "over", "NAME": "wsr", "LEN": 600, "ID": "01-0006" } ]
結(jié)果示例:
ok.xls
其它說明:
1、以上代碼直接生成結(jié)果與圖中示例對齊方式不同,可在代碼中加入格式控制。
2、實際使用的過程中列表字典中還包含了字典,同樣進入遍歷即可。
3、代碼很簡陋,希望各位提意見幫忙改進。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Django cookie和session的應(yīng)用場景及如何使用
今天我們來重點看下Django中session和cookie的用法吧。我們會介紹cookie和session的工作原理,還會分享實際應(yīng)用的案例。2021-04-04Python flashtext文本搜索和替換操作庫功能使用探索
本文將深入介紹Python flashtext庫,包括其基本用法、功能特性、示例代碼以及實際應(yīng)用場景,以幫助大家更好地利用這個有用的工具2024-01-01詳解python 條件語句和while循環(huán)的實例代碼
這篇文章主要介紹了詳解python 條件語句和while循環(huán),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12