Python读取Json字典写入Excel表格的方法

陆遥
陆遥
发布时间:2026-10-13 | 2人浏览过
原创

本文介绍如何利用Python结合xlwt库,将JSON文件中的字典列表数据批量写入固定格式的Excel表格。通过遍历JSON键值对,按列对齐写入数据,实现自动化处理,避免手动复制粘贴的繁琐操作,适用于Windows7及Python2.7环境。

需求:

由于需要将JSON文件中包含的大量信息填入预先设定好格式的Excel表格中,虽然单纯依靠手动复制粘贴也能完成任务,但为了提升效率并简化操作,这里选择使用Python脚本来自动解决这一问题。

环境:

Windows7 +Python2.7 +Xlwt

具体分析:

原始数据文件为JSON格式的列表,其中包含多个字典对象。生成Excel文件时,需要将列表内各个字典的键值按照对应的键名进行排列。具体而言,所有具有相同键名(例如“XX”)的值应写入Excel的同一列中,同时确保每个字典内不同键对应的值保持在Excel的同一行内。解决思路为:首先读取JSON文件,随后遍历字典中的键和值;每处理完一个字典并将其写入Excel后换行,接着读取并处理下一个字典。

代码:

# -*- coding: utf-8 -*-
import xlwt
import json

# 创建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
# 变量用来循环时控制写入单元格,感觉有更好的表达方式
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、当前代码实现较为简略,欢迎提出改进建议以优化代码质量。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表