Python讀取Json字典寫入Excel表格的方法
需求:
因需要將一json文件中大量的信息填入一固定格式的Excel表格,單純的復制粘貼肯定也能完成,但是想偷懶一下,于是借助Python解決問題。
環(huán)境:
Windows7 +Python2.7 +Xlwt
具體分析:
原始文件為json列表,列表中有多個字典,生成Excel文件需要將列表中的字典的鍵值按鍵對應排列,也就是說,所有為“XX”的鍵對應的值寫在一列,且每個字典中的不同鍵的鍵值保證在同一行。
解決思路是,讀取json文件,然后遍歷字典的鍵和值,讀完第一個字典并寫入Excel后換行,讀取第二個字典。
代碼:
# -*- coding: utf-8 -*-
import xlwt
import json
# 創(chuàng)建excel工作表
workbook = xlwt.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('sheet1')
# 設置表頭
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"
}
]
結果示例:
ok.xls

其它說明:
1、以上代碼直接生成結果與圖中示例對齊方式不同,可在代碼中加入格式控制。
2、實際使用的過程中列表字典中還包含了字典,同樣進入遍歷即可。
3、代碼很簡陋,希望各位提意見幫忙改進。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Django cookie和session的應用場景及如何使用
今天我們來重點看下Django中session和cookie的用法吧。我們會介紹cookie和session的工作原理,還會分享實際應用的案例。2021-04-04
Python flashtext文本搜索和替換操作庫功能使用探索
本文將深入介紹Python flashtext庫,包括其基本用法、功能特性、示例代碼以及實際應用場景,以幫助大家更好地利用這個有用的工具2024-01-01
詳解python 條件語句和while循環(huán)的實例代碼
這篇文章主要介紹了詳解python 條件語句和while循環(huán),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12

