如何利用Python讓Excel快速按條件篩選數(shù)據(jù)
本文即使用python實現(xiàn)excel快速篩選數(shù)據(jù)
有一張 12 個月份的產(chǎn)品銷售情況表。
安裝所需的 Python 第三方庫
xlwings 的特色:
- xlwings 能夠非常方便地讀寫 Excel 文件中的數(shù)據(jù),并且能夠進行單元格格式的修改
- 可以和 Matplotlib 以及 Pandas 無縫連接
- 可以調(diào)用 Excel 文件中 VBA 寫好的程序,也可以讓 VBA 調(diào)用用 Python 寫的程序
- 開源免費,一直在更新
導入 xlwings:
import xlwings as xw
通過 Python 啟動 Excel 文件
1.打開 Excel 程序
app =xw.App(visible=True,add_book=False)
其中參數(shù) visible(表示處理過程是否可視,也就是處理 Excel 的過程會不會顯示出來),add_book(是否打開新的 Excel 程序,也就是是不是打開一個新的 excel 窗口)。
2.打開 Excel 文件
workbook = app.books.open("2020 XX 公司銷售表匯總表.xlsx")
3.獲取所有的表格
sheets_list = workbook.sheets
4.設置篩選條件
select_value = '江西省' select_value1 = '博士'
5.新增 Sheet 存在篩選數(shù)據(jù)
qxs_excel = workbook.sheets.add(select_value)
自定義 Python 遍歷 Excel 的函數(shù)
1.新建數(shù)據(jù)列表,將數(shù)據(jù)添加到列表中
range_value_list = []
2,。自定義單一 Sheet 數(shù)據(jù)讀取類
def readrange(excel): for i in range(2,1000): #我的數(shù)據(jù)每張 Sheet 表最多只有 1000 行,所以設置的是 1000 #單個表格字符串 select_sheet_value = "E"+str(i) select_sheet_value1 = "C"+str(i) #整行表格字符串 str_sheet1 = "A"+str(i)+":"+"E"+str(i) select_value_sheet = excel.range(select_sheet_value).value select_value_sheet1 = excel.range(select_sheet_value1).value if select_value_sheet == select_value and select_value_sheet1 == select_value1:#這里設置搜索條件判斷,這里是表示兩個篩選條件同時滿足才會存入數(shù)據(jù)列表 str_value_row = excel.range(str_sheet1).value range_value_list.append(str_value_row) for excel in sheets_list: readrange(excel)
將數(shù)據(jù)寫入新的匯總表里
1.首先寫入標題數(shù)據(jù)
qxs_excel.range("A1:F1").value = ["姓名","級別","學歷","薪資","地址"]
2.循環(huán)寫入數(shù)據(jù)列表數(shù)據(jù)到匯總表中
flag = 1 #因為計算機從 0 開始,0 行已經(jīng)寫入標題,所以這里是 1;如果有多行標題,根據(jù)實際情況設置 for i in range_value_list: flag += 1 #整行表格字符串 str_sheet1 = "A"+str(flag)+":"+"E"+str(flag) qxs_excel.range(str_sheet1).value = i
運行之后的效果如下:
總結(jié)
到此這篇關于如何利用Python讓Excel快速按條件篩選數(shù)據(jù)的文章就介紹到這了,更多相關Python Excel快速按條件篩選數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- python 刪除excel表格重復行,數(shù)據(jù)預處理操作
- Python實現(xiàn)將MySQL數(shù)據(jù)庫查詢結(jié)果導出到Excel
- python使用openpyxl庫讀取Excel文件數(shù)據(jù)
- python中將數(shù)據(jù)生成為Excel文件的5種方法舉例
- Python實現(xiàn)提取JSON文件中指定數(shù)據(jù)并保存至CSV或Excel內(nèi)
- 如何在Python中導入EXCEL數(shù)據(jù)
- 詳解Python如何實現(xiàn)對比兩個Excel數(shù)據(jù)差異
- Python按條件刪除Excel表格數(shù)據(jù)的方法(示例詳解)
相關文章
詳解Python中的分支和循環(huán)結(jié)構(gòu)
這篇文章主要介紹了Python中的分支和循環(huán)結(jié)構(gòu),本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02Python pyinotify日志監(jiān)控系統(tǒng)處理日志的方法
這篇文章主要介紹了Python pyinotify日志監(jiān)控系統(tǒng)處理日志的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03Python一行代碼識別發(fā)票并保存Excel示例詳解
這篇文章主要為大家介紹了Python一行代碼識別發(fā)票并保存Excel示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03Python使用matplotlib實現(xiàn)交換式圖形顯示功能示例
這篇文章主要介紹了Python使用matplotlib實現(xiàn)交換式圖形顯示功能,結(jié)合實例形式詳細分析了Python基于matplotlib模塊的數(shù)值運算與圖形繪制相關操作技巧,需要的朋友可以參考下2019-09-09探索Python int()函數(shù)傳入中文或者字符串會發(fā)生什么
這篇文章主要為大家介紹了Python int()函數(shù)傳入中文或者字符串會發(fā)生什么,詳細討論int()函數(shù)的常規(guī)使用以及它如何處理異常輸入,特別是涉及字符串和中文字符的情況2024-01-01python中的elasticsearch_dsl查詢語句轉(zhuǎn)換成es查詢語句詳解
這篇文章主要介紹了python中的elasticsearch_dsl查詢語句轉(zhuǎn)換成es查詢語句詳解,ElasticSearch在實際生產(chǎn)里通常和LogStash,Kibana,F(xiàn)ileBeat一起構(gòu)成Elastic?Stack來使用,它是這些組件里面最核心的一個,需要的朋友可以參考下2023-07-07