第 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
时间: 2024-08-10 00:05:31