【Python】處理Excel中數據3 (按照班級篩選數據_把數據保存在一個文件的各個sheet中)


一,源數據的載入

需求: 1. 按照班級篩選

    2. 把篩選出來的數據分別保存在一個文件的各個sheet中

 

二,代碼編寫

 1 import pandas as pd
 2 import os
 3 import time
 4 import openpyxl
 5 # 1.加載Excel源數據
 6 path = R"C:\Users\Administrator\python處理Excel數據\20200113\按照班級分離文件.xlsx"
 7 workbook = openpyxl.load_workbook(path)
 8 sheet_names = workbook.sheetnames
 9 sheet1 = workbook[sheet_names[0]]
10 
11 # 2. 讀取Excel sheet1中的所有數據
12 allDatas = []
13 for row in sheet1.rows:
14     lines = [cell.value for cell in row]
15     allDatas.append(lines)
16 
17 #划分班級
18 title = []
19 class1 = []
20 class2 = []
21 class3 = []
22 class4 = []
23 class5 = []
24 
25 for i in allDatas:
26     if i[0] == "1":
27         class1.append(i)
28     elif i[0] == "2":
29         class2.append(i)
30     elif i[0] == "3":
31         class3.append(i)
32     elif i[0] == "4":
33         class4.append(i)
34     elif i[0] == "5":
35         class5.append(i)
36     else:
37         title.append(i)
38 
39 #文件保存路徑
40 path = R"C:\\Users\\Administrator\\python處理Excel數據\\20200225"
41 
42 if not os.path.exists(path):
43     os.mkdir(path)
44     print("目錄創建成功")
45 else:
46     print("目錄已經存在")
47 # 工作表名字
48 date_rand = time.strftime("%Y-%m-%d", time.localtime())
49 file_name = path + '\%s.xlsx' % date_rand
50 writer = pd.ExcelWriter(file_name)
51 
52 #生成新文件的各個sheet.並添加title
53 sheet1 = pd.DataFrame(class1,columns=["班級","姓名","語文","數學","英語","總分","性別","學號"])
54 sheet2 = pd.DataFrame(class2,columns=["班級","姓名","語文","數學","英語","總分","性別","學號"])
55 sheet3 = pd.DataFrame(class3,columns=["班級","姓名","語文","數學","英語","總分","性別","學號"])
56 sheet4 = pd.DataFrame(class4,columns=["班級","姓名","語文","數學","英語","總分","性別","學號"])
57 sheet5 = pd.DataFrame(class5,columns=["班級","姓名","語文","數學","英語","總分","性別","學號"])
58 
59 #寫入數據到各個sheet中並指定列行標
60 sheet1.to_excel(writer,"sheet1",startcol=0,index=False)
61 sheet2.to_excel(writer,"sheet2",startcol=0,index=False)
62 sheet3.to_excel(writer,"sheet3",startcol=0,index=False)
63 sheet4.to_excel(writer,"sheet4",startcol=0,index=False)
64 sheet5.to_excel(writer,"sheet5",startcol=0,index=False)
65 
66 # 將緩存寫入工作表
67 writer.save()
68 print("數據寫入成功!")

三,顯示結果

 


免責聲明!

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



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