如何利用Python讓Excel快速按條件篩選數據
本文即使用python實現excel快速篩選數據
有一張 12 個月份的產品銷售情況表。
安裝所需的 Python 第三方庫
xlwings 的特色:
- xlwings 能夠非常方便地讀寫 Excel 文件中的數據,並且能夠進行單元格格式的修改
- 可以和 Matplotlib 以及 Pandas 無縫連接
- 可以調用 Excel 文件中 VBA 寫好的程序,也可以讓 VBA 調用用 Python 寫的程序
- 開源免費,一直在更新
導入 xlwings:
import xlwings as xw
通過 Python 啟動 Excel 文件
1.打開 Excel 程序
app =xw.App(visible=True,add_book=False)
其中參數 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 存在篩選數據
qxs_excel = workbook.sheets.add(select_value)
自定義 Python 遍歷 Excel 的函數
1.新建數據列表,將數據添加到列表中
range_value_list = []
2,。自定義單一 Sheet 數據讀取類
def readrange(excel): for i in range(2,1000): #我的數據每張 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:#這裡設置搜索條件判斷,這裡是表示兩個篩選條件同時滿足才會存入數據列表 str_value_row = excel.range(str_sheet1).value range_value_list.append(str_value_row) for excel in sheets_list: readrange(excel)
將數據寫入新的匯總表裡
1.首先寫入標題數據
qxs_excel.range("A1:F1").value = ["姓名","級別","學歷","薪資","地址"]
2.循環寫入數據列表數據到匯總表中
flag = 1 #因為計算機從 0 開始,0 行已經寫入標題,所以這裡是 1;如果有多行標題,根據實際情況設置 for i in range_value_list: flag += 1 #整行表格字符串 str_sheet1 = "A"+str(flag)+":"+"E"+str(flag) qxs_excel.range(str_sheet1).value = i
運行之後的效果如下:
總結
到此這篇關於如何利用Python讓Excel快速按條件篩選數據的文章就介紹到這瞭,更多相關Python Excel快速按條件篩選數據內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 淺談Python xlwings 讀取Excel文件的正確姿勢
- Python自動化之批量處理工作簿和工作表
- 詳解python的xlwings庫讀寫excel操作總結
- 利用python將 Matplotlib 可視化插入到 Excel表格中
- 如何利用Python批量處理行、列和單元格詳解