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

python练习册之14 15 16

2016-11-06 15:52 337 查看
第 0014 题: 纯文本文件 student.txt为学生信息, 里面的内容(包括花括号)如下所示:
{
"1":["张三",150,120,100],
"2":["李四",90,99,95],
"3":["王五",60,66,68]
}


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



阅读资料 腾讯游戏开发 XML 和 Excel 内容相互转换

第 0015 题: 纯文本文件 city.txt为城市信息, 里面的内容(包括花括号)如下所示:
{
"1" : "上海",
"2" : "北京",
"3" : "成都"
}


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



第 0016 题: 纯文本文件 numbers.txt, 里面的内容(包括方括号)如下所示:
[
[1, 82, 65535],
[20, 90, 13],
[26, 809, 1024]
]


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



import json
import xlwt
from collections import OrderedDict

def run_1():

with open('student.txt','r') as f:
content = f.read()

#转化为json,注意转化后的dict的元素位置可能和转化前可能不一样,因此需要ordereddict
#loads()方法把str对象反序列化为json对象,自定义解码器为ordereddict
d = json.loads(content,object_pairs_hook=OrderedDict)
print(d)
#初始化xls文件
file = xlwt.Workbook()
#添加sheet,工作表,名字为test
table = file.add_sheet('test')
for row ,i in enumerate(d): #读取所有字典,row为序号,i为字典关键字key
table.write(row,0,i) #写入(行号,列号,key)
for col,j in enumerate(d[i]): #col为序号,j为value,有多个,需要迭代
table.write(row,col+1,j)

file.save('student.xls')

def run_2():
with open('city.txt','r') as f:
content = f.read()
#同上
d = json.loads(content,object_pairs_hook=OrderedDict)
file = xlwt.Workbook()
table = file.add_sheet('rest')
for row ,i in enumerate(d):
table.write(row,0,i)
table.write(row,1,d[i])
file.save('city.xls')

def run_3():
with open('numbers.txt','r') as f:
content = f.read()

d = json.loads(content,object_pairs_hook=OrderedDict)
file = xlwt.Workbook()

table = file .add_sheet('test')
for row , i in enumerate(d):
for col, j in enumerate(i):
table.write(row,col,j)

file.save('number.xls')

if __name__ =="__main__":
# run_1()
run_2()
run_3()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐