如何利用Python讓Excel快速按條件篩選數(shù)據(jù)
本文即使用python實(shí)現(xiàn)excel快速篩選數(shù)據(jù)

有一張 12 個(gè)月份的產(chǎn)品銷售情況表。
安裝所需的 Python 第三方庫(kù)
xlwings 的特色:
- xlwings 能夠非常方便地讀寫 Excel 文件中的數(shù)據(jù),并且能夠進(jìn)行單元格格式的修改
- 可以和 Matplotlib 以及 Pandas 無(wú)縫連接
- 可以調(diào)用 Excel 文件中 VBA 寫好的程序,也可以讓 VBA 調(diào)用用 Python 寫的程序
- 開(kāi)源免費(fèi),一直在更新
導(dǎo)入 xlwings:
import xlwings as xw
通過(guò) Python 啟動(dòng) Excel 文件
1.打開(kāi) Excel 程序
app =xw.App(visible=True,add_book=False)
其中參數(shù) visible(表示處理過(guò)程是否可視,也就是處理 Excel 的過(guò)程會(huì)不會(huì)顯示出來(lái)),add_book(是否打開(kāi)新的 Excel 程序,也就是是不是打開(kāi)一個(gè)新的 excel 窗口)。
2.打開(kāi) Excel 文件
workbook = app.books.open("2020 XX 公司銷售表匯總表.xlsx")3.獲取所有的表格
sheets_list = workbook.sheets
4.設(shè)置篩選條件
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 行,所以設(shè)置的是 1000
#單個(gè)表格字符串
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è)置搜索條件判斷,這里是表示兩個(gè)篩選條件同時(shí)滿足才會(huì)存入數(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.首先寫入標(biāo)題數(shù)據(jù)
qxs_excel.range("A1:F1").value = ["姓名","級(jí)別","學(xué)歷","薪資","地址"]
2.循環(huán)寫入數(shù)據(jù)列表數(shù)據(jù)到匯總表中
flag = 1 #因?yàn)橛?jì)算機(jī)從 0 開(kāi)始,0 行已經(jīng)寫入標(biāo)題,所以這里是 1;如果有多行標(biāo)題,根據(jù)實(shí)際情況設(shè)置
for i in range_value_list:
flag += 1
#整行表格字符串
str_sheet1 = "A"+str(flag)+":"+"E"+str(flag)
qxs_excel.range(str_sheet1).value = i
運(yùn)行之后的效果如下:

總結(jié)
到此這篇關(guān)于如何利用Python讓Excel快速按條件篩選數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Python Excel快速按條件篩選數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python處理Excel表中單元格帶有換行的數(shù)據(jù)問(wèn)題
這篇文章主要介紹了Python處理Excel表中單元格帶有換行的數(shù)據(jù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
Python詳解如何動(dòng)態(tài)給對(duì)象增加屬性和方法
python是動(dòng)態(tài)語(yǔ)?,動(dòng)態(tài)編程語(yǔ)?是?級(jí)程序設(shè)計(jì)語(yǔ)?的?個(gè)類別,在計(jì)算機(jī)科學(xué)領(lǐng)域已被?泛應(yīng)?。它是?類在?運(yùn)?時(shí)可以改變其結(jié)構(gòu)?的語(yǔ)??:例如新的函數(shù)、對(duì)象、甚?代碼可以被引進(jìn),已有的函數(shù)可以被刪除或是其他結(jié)構(gòu)上的變化2022-07-07
關(guān)于多種方式完美解決Python pip命令下載第三方庫(kù)的問(wèn)題
這篇文章主要介紹了多種方式完美解決python pip命令下載第三方庫(kù)的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
python實(shí)現(xiàn)對(duì)excel中需要的數(shù)據(jù)的單元格填充顏色
這篇文章主要介紹了python實(shí)現(xiàn)對(duì)excel中需要的數(shù)據(jù)的單元格填充顏色,文章圍繞主題展開(kāi)詳細(xì)單元格填充介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-06-06
Python Pygame實(shí)戰(zhàn)之水果忍者游戲的實(shí)現(xiàn)
大家還記得水果忍者這個(gè)游戲嗎?想當(dāng)年,這也是個(gè)風(fēng)靡全國(guó)的游戲,基本每個(gè)人都玩過(guò)。今天小編就用Python中的Pygame庫(kù)復(fù)刻這一經(jīng)典游戲,需要的可以參考一下2022-02-02
python?隨時(shí)間序列變動(dòng)畫圖的方法
這篇文章主要介紹了python?基礎(chǔ)繪圖之關(guān)于隨時(shí)間序列變動(dòng)的圖的畫法,首先大家要明白畫圖需要考慮的問(wèn)題,如何在圖中適當(dāng)?shù)娘@示軸標(biāo)簽的樣式和數(shù)量,詳細(xì)代碼跟隨小編一起看看吧2022-01-01

