第 0014 0015 0016 题:将txt写入xls

# 第 0014 题: 纯文本文件 student.txt为学生信息, 里面的内容(包括花括号)如下所示:
#
# {
# 	"1":["张三",150,120,100],
# 	"2":["李四",90,99,95],
# 	"3":["王五",60,66,68]
# }
# 请将上述内容写到 student.xls 文件中,如下图所示:

import json
import xlwt


def read_txt(file):
    with open(file) as f:
        data = f.read()
        print(type(data),data)
        dic_data = json.loads(data)
        print(type(dic_data),dic_data)
        return dic_data

def wright_xls(dic_data,save_file):
    excel = xlwt.Workbook(encoding='utf-8')   # 创建excel
    sheet1 = excel.add_sheet('sheet1')    # 创建sheet
    r = 0     # r为行数
    if isinstance(dic_data,dict):
        for i,j in dic_data.items():
            sheet1.write(r,0,i)           # 写第一列数据
            if isinstance(j,list):     # student.txt
                for v in range(1,len(j)+1):   # 写入第二列以后的数据
                    sheet1.write(r,v,j[v-1])
            elif isinstance(j,str):     # city.txt
                sheet1.write(r, 1, j)
            r += 1   # 行数加一
    elif isinstance(dic_data,list):  # 0016.txt
        for line in dic_data:
            if isinstance(line,list):
                for i in range(len(line)):
                    sheet1.write(r, i, line[i])
            r += 1     # 行数加一

    excel.save(save_file)


if __name__ == "__main__":
    dic_data1 = read_txt('student.txt')   # 0014
    wright_xls(dic_data1,'student.xls')
    dic_data2 = read_txt('city.txt')   #0015
    wright_xls(dic_data2,'city.xls')
    dic_data3 = read_txt('0016.txt')  # 0016
    wright_xls(dic_data3, '0016.xls')

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

city.txt
{
“1” : “上海”,
“2” : “北京”,
“3” : “成都”
}

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值