色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python還能這么玩之只用30行代碼從excel提取個(gè)人值班表

瀏覽:125日期:2022-06-14 16:18:14
目錄一、查找操作二、安裝 openpyxl 模塊三、讀取并篩選值班表中自己的信息四、創(chuàng)建自己的值班信息表五、全部代碼六、執(zhí)行結(jié)果七、總結(jié)一、查找操作

1.Excel 模塊 xlrd,xlwt,xlutils 分別負(fù)責(zé) Excel 文件的讀、寫(xiě)、讀寫(xiě)轉(zhuǎn)換工作!

2.openpyxl 直接可以對(duì) Excel 文件讀寫(xiě)!

3.pandas 直接可以對(duì) Excel 文件讀寫(xiě)!

二、安裝 openpyxl 模塊

pip install openpyxl三、讀取并篩選值班表中自己的信息

1.讀取所有的值班信息;

2.由于一般情況 excel 都會(huì)有部分表格為空,保存全部 None 的 excel 行字符串?dāng)?shù)據(jù);

3.循環(huán)全部的值班數(shù)據(jù),將當(dāng)前行數(shù)據(jù)形成一個(gè)數(shù)據(jù)字符串;

4.判斷當(dāng)前值班信息字符串是否含有自己的姓名;

5.對(duì)含有自己信息的數(shù)據(jù)中關(guān)鍵信息(值班時(shí)間,姓名)進(jìn)行存儲(chǔ);

6.然后判斷當(dāng)前字符串是否含有全部 None 的數(shù)據(jù);

7.由于值班表沒(méi)有空出的行,所以查到 None,直接跳出循環(huán)。

dutys = [] book = openpyxl.load_workbook(’duty.xlsx’,data_only=True) sheet = book.active all_data = book.get_sheet_by_name('日常加班') none_str = ’’.join([str(None).ljust(20) for c in range(1,all_data.max_column+1)]) for r in range(1,all_data.max_row + 1): cur_str = ’’.join([str(all_data.cell(row=r,column=c).value).ljust(20) for c in range(1,all_data.max_column+1)]) if cur_str.find('***') >= 0: dutys.append({'date': all_data.cell(row=r,column=2).value,'name': all_data.cell(row=r,column=3).value }) elif cur_str.find(none_str) >= 0: break return dutys四、創(chuàng)建自己的值班信息表

1.創(chuàng)建一個(gè)值班信息表的 excel;

2.將自己的值班信息循環(huán);

3.將信息填入創(chuàng)建的表格。

book = openpyxl.Workbook() sheet = book.active for i in range(len(dutys)): sheet.cell(row=1 + i, column=1).value = dutys[i].get('name') sheet.cell(row=1 + i, column=2).value = f’{dutys[i].get('date')}’ book.save(’my_duty.xlsx’)五、全部代碼

#!/usr/bin/env python'''@Author :Rattenking@Date :2021/06/02 10:19@CSDN :https://blog.csdn.net/m0_38082783'''import openpyxlimport timedef get_my_duty_date(): dutys = [] book = openpyxl.load_workbook(’duty.xlsx’,data_only=True) sheet = book.active all_data = book.get_sheet_by_name('日常加班') none_str = ’’.join([str(None).ljust(20) for c in range(1,all_data.max_column+1)]) for r in range(1,all_data.max_row + 1): cur_str = ’’.join([str(all_data.cell(row=r,column=c).value).ljust(20) for c in range(1,all_data.max_column+1)]) if cur_str.find('***') >= 0: dutys.append({'date': all_data.cell(row=r,column=2).value,'name': all_data.cell(row=r,column=3).value }) elif cur_str.find(none_str) >= 0: break return dutysdef create_my_duty_list(dutys): book = openpyxl.Workbook() sheet = book.active for i in range(len(dutys)): sheet.cell(row=1 + i, column=1).value = dutys[i].get('name') sheet.cell(row=1 + i, column=2).value = f’{dutys[i].get('date')}’ book.save(’my_duty.xlsx’)if __name__ == '__main__': start_time = int(round(time.time() * 1000)) dutys = get_my_duty_date() create_my_duty_list(dutys) end_time = int(round(time.time() * 1000)) print(f’本次提取值班表時(shí)間:{end_time - start_time}ms’)六、執(zhí)行結(jié)果

Python還能這么玩之只用30行代碼從excel提取個(gè)人值班表

七、總結(jié)

熟悉 openpyxl 模塊的各個(gè)功能,方便對(duì) excel 的操作;篩選提取自己關(guān)注的關(guān)鍵信息,重新建表;下一篇根據(jù)值班時(shí)間,用 python 自動(dòng)給自己的微信發(fā)送信息,進(jìn)行提示!

到此這篇關(guān)于Python還能這么玩之只用30行代碼從excel提取個(gè)人值班表的文章就介紹到這了,更多相關(guān)Python從excel提取個(gè)人值班表內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python excel
主站蜘蛛池模板: 美国一级毛片片aa久久综合 | 国产精品欧美亚洲 | 久久久香蕉视频 | 日韩国产免费 | 久久精品国产一区二区三区 | 午夜性片 | 亚洲国产天堂久久九九九 | 国产成人精品男人免费 | www伊人| 深夜福利国产福利视频 | 欧美熟videos肥婆 | 亚洲国产日产韩国欧美综合 | 国产嫩草影院在线观看 | 97在线免费看视频 | 久久香蕉国产线看观看精品yw | 久久久久国产精品美女毛片 | 国产美女精品视频免费观看 | 成人毛片免费观看视频在线 | 狠狠色丁香九九婷婷综合五月 | www.欧美成人 | 国产原创视频在线 | 亚洲精品视频免费看 | 亚洲男人天堂2018 | 国产一级片儿 | 99国产在线| 免费观看黄色毛片 | 一区二区欧美视频 | 99精品视频一区在线观看miya | 97在线观看成人免费视频 | 国产精品视频免费观看调教网 | 久久精品久久精品国产大片 | 欧美线在线精品观看视频 | 亚洲视频手机在线观看 | 欧美精品专区55页 | 美女又黄又免费 | 久久99精品久久久久久青青91 | 国产三级国产精品国产国在线观看 | 日本一级视频 | 最新精品亚洲成a人在线观看 | 亚洲黄色免费在线观看 | 亚洲欧洲视频在线 |