Python中讀取文件中的json串,並將其寫入到Excel表格中


Json:JavaScript Objective Notation,是一種輕量級的數據交換格式。Json最廣泛的應用是作為AJAX中web服務器和客戶端的通訊的數據格式。現在也常用語http請求中,,所以對json的學習也是自然而然的事情。

有一個存着學生成績的文件,文件中存的是json串,json串讀起來特別不直觀,寫一個小程序,將它們寫到excel表中,並計算出總分和平均分,json串格式如下:

1 {
2     "1":["小花",99,100,98.5],
3     "2":["小王",90,30.5,95],
4     "3":["小明",67.5,49.6,88]
5 } 

demo.py

 1 import json,xlwt
 2 def readExcel(file):
 3     with open(file,'r',encoding='utf8') as fr:
 4         data = json.load(fr) # 用json中的load方法,將json串轉換成字典
 5     return data
 6 def writeM():
 7     a = readExcel('json')
 8     print(a)
 9     title = ["學號","姓名","語文成績","數學成績","英語成績","總分","平均分"]
10     book = xlwt.Workbook() # 創建一個excel對象
11     sheet = book.add_sheet('Sheet1',cell_overwrite_ok=True) # 添加一個sheet頁
12     for i in range(len(title)): # 循環列
13         sheet.write(0,i,title[i]) # 將title數組中的字段寫入到0行i列中
14     for line in a: # 循環字典
15         print('line:',line)
16         sheet.write(int(line),0,line) # 將line寫入到第int(line)行,第0列中
17         summ = a[line][1] + a[line][2] + a[line][3] # 成績總分
18         sheet.write(int(line),5,summ) # 總分
19         sheet.write(int(line),6,summ/3) # 平均分
20         for i in range(len(a[line])):
21             sheet.write(int(line),i+1,a[line][i])
22     book.save('demo.xls')
23 
24 if __name__ == '__main__':
25     writeM()

結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM