好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > python 辦公自動化——基于pyqt5和openpyxl統計符合要求的名單

python 辦公自動化——基于pyqt5和openpyxl統計符合要求的名單

熱門標簽:手機網頁嵌入地圖標注位置 開封自動外呼系統怎么收費 開封語音外呼系統代理商 應電話機器人打電話違法嗎 天津電話機器人公司 河北防封卡電銷卡 電銷機器人的風險 地圖標注線上如何操作 400電話辦理哪種

首先,那肯定是用python獲取學校發下來的未學習名單,但是我忘記我之前用什么來操作辦公軟件了(最后項目作出來的時候才想起來是pandas),我就上網搜了一下,試了很多庫但是都不支持xlsx文件格式(只支持最老版本的xls),最終openpyxl成功的讀取了xlsx文件,于是我就用了openpyxl庫來讀取文件,下面是python代碼

 studyedstudent = []
 wb = load_workbook(xlsx_path)
 sheets = wb.worksheets  # 獲取當前所有的sheet
 sheet1 = sheets[0]
 for col in sheet1['A']:
     studyedstudent.append(col.value)

這樣studyedstudent列表中就是本期已學習的名單了

我又向團支書要了我們班的團員表,同樣用該方法讀出了我們班的團員,我將他放入一個列表中,當常量來用。

剩下的就是遍歷我們班團員,看一下團員是否在已學習的名單中,如果不在,則將該團員放入另一個列表(未學習名單中)

下面是python代碼

wb = load_workbook(xlsx_path)
sheets = wb.worksheets  # 獲取當前所有的sheet
myclassstudent = ['陳榮森', '鄧京銳', '鄧文凱', '何江偉', '何錦勝', '李春江', '李錦科', '廖金威', '廖鈞濠', '林榮添', '劉繼洪', '羅煒芊', '麥洋華', '彭浩林', '唐愛萍', '涂駿', '冼東潮', '肖華鋒', '謝澤琛', '楊奮發', '張杰森', '鄭佳浩', '植美麟', '周天寶']
# 24團員
# print(len(myclassstudent))
# 獲取第一張sheet
sheet1 = sheets[0]
studyedstudent = []
for col in sheet1['A']:
    studyedstudent.append(col.value)
# print(studyedstudent)
unstudyedstudent = []
for i in myclassstudent:
    if i not in studyedstudent:
        unstudyedstudent.append(i)

這樣一波操作,unstudystudent中就是要給團支書的未學習名單了!

但是鑒于使用者可能沒有python環境,所以我決定將unstudystudent寫入一個txt文件中,并且將代碼打包成exe文件。

下面是代碼

wb = load_workbook(xlsx_path)
sheets = wb.worksheets  # 獲取當前所有的sheet
myclassstudent = ['陳榮森', '鄧京銳', '鄧文凱', '何江偉', '何錦勝', '李春江', '李錦科', '廖金威', '廖鈞濠', '林榮添', '劉繼洪', '羅煒芊', '麥洋華', '彭浩林', '唐愛萍', '涂駿', '冼東潮', '肖華鋒', '謝澤琛', '楊奮發', '張杰森', '鄭佳浩', '植美麟', '周天寶']
# 24團員
# print(len(myclassstudent))
# 獲取第一張sheet
sheet1 = sheets[0]
studyedstudent = []
for col in sheet1['A']:
    studyedstudent.append(col.value)
# print(studyedstudent)
unstudyedstudent = []
for i in myclassstudent:
    if i not in studyedstudent:
        unstudyedstudent.append(i)
file = open('大學習未完成名單.txt', 'w')
for i in unstudyedstudent:
    file.write(i)
    file.write('\n')
file.close()

打包需要先下載一個打包的庫打開cmd 輸入“pip install Pyinstaller”即可,然后再cmd中進入要打包的文件夾,輸入“Pyinstaller -F main.py”等待打包即可,main.py是我要打包的文件名字。

但是這是個小黑板使用起來不太方便,我決定做一個GUI,我就用了我最近在學的pyqt5。

首先把main文件封裝成函數,下面是main.py的代碼

from openpyxl import load_workbook


def getnostudytxt(xlsx_path):
    wb = load_workbook(xlsx_path)
    sheets = wb.worksheets  # 獲取當前所有的sheet
    myclassstudent = ['陳榮森', '鄧京銳', '鄧文凱', '何江偉', '何錦勝', '李春江', '李錦科', '廖金威', '廖鈞濠', '林榮添', '劉繼洪', '羅煒芊', '麥洋華', '彭浩林', '唐愛萍', '涂駿', '冼東潮', '肖華鋒', '謝澤琛', '楊奮發', '張杰森', '鄭佳浩', '植美麟', '周天寶']
    # 24團員
    # print(len(myclassstudent))
    # 獲取第一張sheet
    sheet1 = sheets[0]
    studyedstudent = []
    for col in sheet1['A']:
        studyedstudent.append(col.value)
    # print(studyedstudent)

    unstudyedstudent = []
    for i in myclassstudent:
        if i not in studyedstudent:
            unstudyedstudent.append(i)
    file = open('大學習未完成名單.txt', 'w')

    for i in unstudyedstudent:
        file.write(i)
        file.write('\n')
    file.close()
    return unstudyedstudent

接下來是寫界面,不妨命名為ui.py,下面是代碼。

import sys
from PyQt5.QtWidgets import (QWidget, QTextEdit, QFileDialog, QApplication, QHBoxLayout, QVBoxLayout, QPushButton)
from PyQt5.QtGui import QIcon
import main


class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        okButton = QPushButton("選擇文件")
        self.textEdit = QTextEdit()
        okButton.clicked.connect(self.showDialog)
        vvbox = QVBoxLayout()
        vvbox.addWidget(okButton)
        vvbox.addStretch(1)
        hbox = QHBoxLayout()
        hbox.addLayout(vvbox)
        hbox.addWidget(self.textEdit)
        vbox = QVBoxLayout()
        vbox.addLayout(hbox)
        self.setLayout(vbox)
        self.setGeometry(300, 300, 350, 300)
        self.setWindowTitle("青年大學習獲取未學習名單")
        self.setWindowIcon(QIcon("head.ico"))
        self.show()

    def showDialog(self):
        # 彈出文件選擇器
        fname = QFileDialog.getOpenFileName(self, "Open file")
        # 如果選擇了文件
        if fname[0]:
            # 打開第一個文件
            f = open(fname[0], "r")
            print(f.name)
            mylist = main.getnostudytxt(f.name)
            print(mylist)
            for i in mylist:
                self.textEdit.append(i)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

最后就是打包了,這次要打包的是窗口文件,所以打包的指令中要多加一個-w,而且我給打包后的文件添加了一個圖標(head.ico),所以輸入“Pyinstaller -F -w -i head.ico ui.py”。

最終項目就做完了!

代碼我已經提交到github上,如果想瞅瞅源碼可以上我的github上看看:xddno1/python_student_big_study: 青年大學習檢查未學習名單的python腳本 (github.com)

最后還有一個小bug,那就是pyqt5窗口的圖標不展示的問題,這個有知道的大佬還請指出解決辦法!

以上就是python 辦公自動化——基于pyqt5和openpyxl統計符合要求的名單的詳細內容,更多關于python 自動化統計名單的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • python實現自動化辦公郵件合并功能
  • Python辦公自動化之將任意文件轉為PDF格式
  • Python辦公自動化之教你用Python批量識別發票并錄入到Excel表格中
  • Python辦公自動化之Excel(中)
  • 6個Python辦公黑科技,助你提升工作效率

標簽:宿遷 常州 六盤水 蘭州 駐馬店 成都 江蘇 山東

巨人網絡通訊聲明:本文標題《python 辦公自動化——基于pyqt5和openpyxl統計符合要求的名單》,本文關鍵詞  python,辦公自動化,基于,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python 辦公自動化——基于pyqt5和openpyxl統計符合要求的名單》相關的同類信息!
  • 本頁收集關于python 辦公自動化——基于pyqt5和openpyxl統計符合要求的名單的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 无节操肉文| 免费a级猛片在线观看| 柔佳呻吟乳峰喘息高耸入云| 病态双生子| 八戒八戒影视大全免费观看2023年 | 白丝被弄羞涩娇喘动态图| 欲动电影在线观看| 免费一级特黄3大片视频| 国产女学生一级A片在那里找| 福利一区在线播放| 把她押去乳刑室乳刑折磨| 国产浴室偷窥在线播放| 华门儿媳泰剧在线观看全集免费泰剧 | 色情乱婬一区二区三区水浒传| 国精产品一区一区二区三区神宫寺 | 女同学让我把手伸到她的下面| 经典三级在线观看| 男人操女人的逼的视频| 激情小说在线视频| 91精品国产一区二区三区香蕉| 亚洲精品国产精品国自产网站| 舔花缝| 无遮挡又黄又爽又色的动态图1000| 久青草网站| 12孩岁女精品A片一区二区| 亚洲精品永久www嫩草桃花岛| 91社区福利体验服免费| 日韩毛片| 三级毛片网站| 成人免费毛片???果冻| 亚洲午夜18???毛片在线看 | 日本视频在线播放| 最刺激黄a大片免费观看下载| 婷婷五月色天| 淫射网| 韩国三级三级三级a三级| 欧美性视频在线观看免费| 亚洲色四在线视频观看| 日本乱理伦片免费观看| 武侠古典第一二三四区| 中文无码亚洲一区二区蜜桃|