PythonShowMeTheCode(0014-16): JSON转xls

1. 题目

第 0014 题: 纯文本文件 student.txt为学生信息, 里面的内容(包括花括号)如下所示, 将下面的内容写入到 student.xls 文件中

     {
         "1":["张三",150,120,100],

         "2":["李四",90,99,95],

         "3":["王五",60,66,68]
     }

2. 要点

映射关系

如图所示, JSON里的映射关系与python中的字典很相似,利用json库读取JSON字符串,转化为字典,就可以方便的写入到xls文件中了。

另外,python35中一般采用openpyxl来读写xlsx/xlsm/xltx/xltm文件。

pip install openpyxl

3. 实现

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


def get_json_dict(path):
    if path is None:
        return

    with open(path, encoding="utf-8") as f:
        tmp_str = f.read()
    json_dict = json.loads(tmp_str)

    return json_dict


def write_to_xls(json_dict):
    wb = openpyxl.Workbook()
    ws = wb.worksheets[0]
    for i in range(1, len(json_dict)+1):
        ws.cell(row=i, column=1).value = i
        for j in range(2, len(json_dict["1"])+2):
            ws.cell(row=i, column=j).value = json_dict[str(i)][j-2]

    wb.save("student.xls")


if __name__ == "__main__":
    json_dict = get_json_dict("student.txt")
    print(json_dict)

4. 其他

0015和0016题均可以通过json库解析,只不过生成的数据结构有所变化。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,951评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,387评论 25 708
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,766评论 18 399
  • 你若卷土重来,我会等你回来。——致闺蜜,2015年3月18日 【卷土重来】 “小唯,前几天依依给我推荐新工作了, ...
    林夏萨摩阅读 997评论 0 5
  • 想起某些往事,某个人,随有此想法。
    七月汛期阅读 127评论 0 0