python 练习0014

版权声明:喜欢就点个赞吧,有啥疑问可以留言交流~ https://blog.csdn.net/m0_38015368/article/details/89354733

问题

纯文本文件 student.txt为学生信息, 里面的内容(包括花括号)如下所示:

{
   "1":["张三",150,120,100],
   "2":["李四",90,99,95],
   "3":["王五",60,66,68]
}

请将上述内容写到 student.xls 文件中,如下图所示
在这里插入图片描述

代码

import json
import xlwt 

def get_data(path):
    try:
        with open(path, 'r') as f:
            return json.load(f)
    except:
        return ''

def save_xls(data, path):
    # 创建工作簿
    workbook = xlwt.Workbook(encoding='utf-8')
    # 创建 Sheet
    worsheet = workbook.add_sheet('studnet')
    for row, key in enumerate(data):
        worsheet.write(row, 0, key)
        for col, value in enumerate(data[key]):
            worsheet.write(row, col + 1, value)
    workbook.save(path)


if __name__ == '__main__':
    path = './res/student.txt'
    new_path = 'student.xls'
    data = get_data(path)
    # print(data)
    save_xls(data, new_path)

总结

关于 json

处理在文件内的 json 函数不带s,处理 Python 变量中的 json 数据带s,即:

# 处理文件时
with open('data.json', 'w') as f:
    json.dump(data,f)         # 写文件
with oepn('data.json', 'f') as f:
    data = json.load(f)       # 读文件

# 处理 Python 变量中的 json 数据
json_str = json.dumps(data)    # 返回字符串
data = json.loads(json_str)   # 返回 Python 变量(dict or list )

可以利用 json.load(f) 读取文件中的列表、字典 :

# dict.txt:
{
    "1" : "上海",
    "2" : "北京",
    "3" : "成都"
}

# list.txt
[
	[1, 82, 65535], 
	[20, 90, 13],
	[26, 809, 1024]
]

关于 xls

xls 文件创建步骤:

  1. 创建工作簿 workbook = xlwt.Workbook(encoding='utf-8')
  2. 创建任意 Sheet worksheet = workbook.add_sheet(sheet_name)
  3. 向Sheet 中写数据 worksheet.write(row, col, data)
  4. 保存工作簿 workbook.save(workbook_name)

猜你喜欢

转载自blog.csdn.net/m0_38015368/article/details/89354733