婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python還能這么玩之只用30行代碼從excel提取個人值班表

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

熱門標簽:地圖標注面積 儋州電話機器人 所得系統電梯怎樣主板設置外呼 北京電銷外呼系統加盟 北瀚ai電銷機器人官網手機版 市場上的電銷機器人 佛山400電話辦理 朝陽手機外呼系統 小蘇云呼電話機器人

一、查找操作

1.Excel 模塊 xlrd,xlwt,xlutils 分別負責 Excel 文件的讀、寫、讀寫轉換工作!

2.openpyxl 直接可以對 Excel 文件讀寫!

3.pandas 直接可以對 Excel 文件讀寫!

二、安裝 openpyxl 模塊

pip install openpyxl

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

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

2.由于一般情況 excel 都會有部分表格為空,保存全部 None 的 excel 行字符串數據;

3.循環全部的值班數據,將當前行數據形成一個數據字符串;

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

5.對含有自己信息的數據中關鍵信息(值班時間,姓名)進行存儲;

6.然后判斷當前字符串是否含有全部 None 的數據;

7.由于值班表沒有空出的行,所以查到 None,直接跳出循環。

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

四、創建自己的值班信息表

1.創建一個值班信息表的 excel;

2.將自己的值班信息循環;

3.將信息填入創建的表格。

 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 openpyxl
import time

def 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 dutys

def 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'本次提取值班表時間:{end_time - start_time}ms')

六、執行結果

七、總結

熟悉 openpyxl 模塊的各個功能,方便對 excel 的操作;篩選提取自己關注的關鍵信息,重新建表;下一篇根據值班時間,用 python 自動給自己的微信發送信息,進行提示!

到此這篇關于Python還能這么玩之只用30行代碼從excel提取個人值班表的文章就介紹到這了,更多相關Python從excel提取個人值班表內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 利用python對Excel中的特定數據提取并寫入新表的方法
  • python自動打開瀏覽器下載zip并提取內容寫入excel
  • Python實現提取XML內容并保存到Excel中的方法
  • python3讀取excel文件只提取某些行某些列的值方法
  • python辦公自動化之excel的操作
  • 教你用Python實現Excel表格處理
  • 教你怎么用Python處理excel實現自動化辦公

標簽:金融催收 商丘 酒泉 江蘇 定西 龍巖 寧夏 云南

巨人網絡通訊聲明:本文標題《Python還能這么玩之只用30行代碼從excel提取個人值班表》,本文關鍵詞  Python,還能,這么,玩之,只用,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python還能這么玩之只用30行代碼從excel提取個人值班表》相關的同類信息!
  • 本頁收集關于Python還能這么玩之只用30行代碼從excel提取個人值班表的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 卓资县| 合水县| 山东| 河池市| 阳曲县| 高淳县| 江口县| 隆昌县| 基隆市| 陆河县| 同仁县| 崇州市| 宜黄县| 延长县| 喀喇沁旗| 琼结县| 满城县| 安丘市| 饶平县| 桃源县| 饶河县| 开鲁县| 江西省| 岳阳县| 鄯善县| 通江县| 吉隆县| 沙洋县| 肇东市| 大名县| 邢台县| 新沂市| 普兰县| 赤峰市| 会东县| 南岸区| 芷江| 榆社县| 达拉特旗| 马山县| 福建省|