码迷,mamicode.com
首页 > 编程语言 > 详细

【python小练】0014

时间:2016-04-12 07:16:03      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

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

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

请将上述内容写到 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

【python小练】0014

标签:

原文地址:http://www.cnblogs.com/liez/p/5380925.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!