練習014-015

第 0014 題: 純文本文件 student.txt爲學生信息, 裏面的內容(包括花括號)如下所示:

{
“1”:[“張三”,150,120,100],
“2”:[“李四”,90,99,95],
“3”:[“王五”,60,66,68]
}
請將上述內容寫到 student.xls 文件中,如下圖所示:

student.xls
這裏寫圖片描述

第 0015 題: 純文本文件 city.txt爲城市信息, 裏面的內容(包括花括號)如下所示:

{
“1” : “上海”,
“2” : “北京”,
“3” : “成都”
}
請將上述內容寫到 city.xls 文件中,如下圖所示:
city.xls
city.xls


#coding:utf-8
import xlsxwriter
def read():
    list = [] 
    dict = {}
    with open('12.txt' ,'r') as file:   
        while True:
            x = file.readline()
            if x:
                if len(x)>2:               
                    x = x.strip() 
                    if x.endswith(','):
                        x = x[:-1]
                        list.append(x.decode('gbk'))
                    else:
                        list.append(x.decode('gbk'))
            else:
                break

    for i in list:       
        dict[i.split(':')[0].strip()]=i.split(":")[1].strip()
    return dict     
def write():

    dict = read()
    list = ['A','B','C','D','E','F']
    workbook = xlsxwriter.Workbook('11.xlsx')
    worksheet= workbook.add_worksheet('11')
    for i in dict:
            x = 0
            aa= list[x]+i[1:-1]
            if i.endswith('"'):
                worksheet.write( aa ,i[1:-1])
            x=1
            for j in dict[i][1:-1].split(','):
                if j.endswith('"'):
                    j = j[1:-1]
                aa = list[x]+i[1:-1]                
                x=x+1
                worksheet.write(aa,j.encode('gbk').decode('gbk') )
    workbook.close()
    print "已經寫完了"

if __name__ == "__main__":
    write()

兩個題可以用同一個代碼解決

代碼可能寫的有點繁瑣,請高手不要吐槽啊!!!

結果:

015

( 寫於2016年5月21日,http://blog.csdn.net/bzd_111
更新於2016年5月25日

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章