zoukankan      html  css  js  c++  java
  • 【python小练】0014题 和 0015 题

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

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

    请将上述内容写到 student.xls 文件中,如下图所示:

    student.xls

    这题用到之前提到的python第三方库xlwt。(= - =pip一安真的是一劳永逸呢)

    Code:

    import re
    import xlwt
    
    def read2xls(x):
        datatable = xlwt.Workbook(encoding = 'utf-8', style_compression = 0)
        newsheet = datatable.add_sheet('student', cell_overwrite_ok = True)
        num = 0
        with open(x, 'r') as f:
            text = f.read()
            info = re.compile(r'"(d+)":["(.*?)",(d+),(d+),(d+)]')
            for x in info.findall(text):
                for i in range(len(x)):
                    newsheet.write(num, i, x[i])
                num += 1
    
            datatable.save('liez.xls')
    
    read2xls('student.txt')

    效果:

    Note:

    1. Workbook和addsheet新建这个新建那个照着文档说的做就是

    2. 0004题里用到的re库再一次出没,compile转换格式,又是正则表达式,并不熟悉,根据文档勉强写出来,居然能用,科科。(“.*?”指代无限制的字符(串),“d+”知道数字(串))

    3. write()函数,在同一行分列为计数行数num,写入行号i,内容x[i],记得计数num加1

    第 0015 题: 纯文本文件 city.txt为城市信息, 里面的内容(包括花括号)如下所示:

    {
        "1" : "上海",
        "2" : "北京",
        "3" : "成都"
    }

    请将上述内容写到 city.xls 文件中。

    对compile那一句进行更改就可以了,注意引号前后有空格哦,错一点点就什么都没啦。

    Code:

          info = re.compile(r'"(d+)" : "(.*?)"')
  • 相关阅读:
    第四章:活动图
    makefile
    C语言中,头文件和源文件的关系(转)
    第三章:用例图
    第二章:建模基础
    shell编程:if语句
    shell编程:for循环
    shell基础:数值运算与运算符
    shell基础:预定义变量
    图片异步加载的几种实现方案
  • 原文地址:https://www.cnblogs.com/liez/p/5380925.html
Copyright © 2011-2022 走看看