您的位置:首页 > 编程语言 > Python开发

【python小练】0014题 和 0015 题

2016-04-12 17:41 316 查看
第 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

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

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


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

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

Code:

info = re.compile(r'"(\d+)" : "(.*?)"')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: