999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python實現批量化處理的編程機制分析

2023-01-01 00:00:00
電腦迷 2023年6期

【摘" 要】 人工智能下批量化處理Eexcl數據文件已成趨勢,文章從Python編程出發分析Openpyxl模塊的批量化處理邏輯,重點闡述了批量化處理Eexcl文件的思路與遇到的疑難雜癥,并從問題入手,分析了從操作單個工作表到操作多個工作表再到操作多個工作簿的工作表的方法和邏輯。

【關鍵詞】 Openpyxl模塊;批量化處理;編程機制

一、Python中的Openpyxl模塊

(一)Python的邏輯存儲結構

Python可用于人工智能領域。所謂人工智能,通俗來說就是使計算機等設備延伸人類智力,模擬人類智能行為對外界作出響應。Python善于處理批量的數據,可以將工作者從大量繁瑣、機械的重復性工作中解脫出來,將注意力集中到更有價值的事情上。Python還可以用于辦公自動化、測試自動化、運維自動化等相關領域。

(二)Excel文檔的邏輯存儲結構

在Eexcl文件當中,最原始的數據存儲的邏輯關系為一對多的邏輯包含關系,即一個工作簿(Workbook)文件包含多個工作表(Sheet),一個工作表(Sheet)包含多個單元格(Cell),傳統的Eexcl表格只能操作當前的這個工作表中的單元格,不能同時操作多個工作表以及多個工作表以下的單元格。

(三)Openpyxl模塊

Openpyxl是一個第三方庫,可以處理Excel文件的庫。Penpyxl模塊是一個讀寫Excel2010文檔的Python庫,綜合性較強,能夠同時讀?。≧ead)和修改(Write)Excel文檔。Openpyxl模塊有三大類(首字母大寫)。主要的思路為:創建Excel文件→創建Sheet頁→寫入數據,簡單來說,一個工作簿的底層存儲邏輯為字典,字典為鍵值對的存儲結構,由Key-Value的鍵值對進行數據存儲,簡單包含來寫:Workbook—Sheet,Sheet—Cell,而每一層的數據結構分別為字典—元組—列表(值)結構,字典是另一種可變容器模型,且可存儲任意類型對象。字典的每個鍵值 Key:Value 對用冒號“:”分割,每個鍵值對之間用逗號“,”分割,整個字典包括在花括號“{}”中,格式:d={key1:value1,key2:value2};笛卡爾積中每一個元素(d1,d2,…,dn)叫作一個n元組(n-tuple)或簡稱元組。當關系是一張表,二維表中的行表中的每行(即數據庫中的每條記錄)就是一個元組,每列就是一個屬性。在二維表里,元組也稱為記錄。

二、批量化處理的編程邏輯

(一)對單元格Cell的操作

1. 讀取相關數據的方法,存儲為元組(Tuple)

首先獲取每一行(row),從最小列(column)開始讀取,讀取的方法為for i in s.iter_rows(min_col=1),其存儲邏輯為一行一行的元組, Python中元組是有序且不可被修改的數據集合。通常使用小括號進行定義元組,元組內的元素之間使用逗號分隔。

運行截圖如下:

根據運行截圖可以清楚地看到,這個Eexcl表格中單元格Cell在Sheet1當中,單元格的位置從A1-AX,B1-BX,C1-CX,D1-DX等。

2. 針對每一行內容進行切片,獲取需要的單元格

操作方法為根據得到的元組,將元組中需要的元素搜集起來,描寫的方法為rows[0],rows[1]…rows[x],從第一列到第X列,由于元組的地址從[0]開始,第一列的元素即為rows[0],其運行截圖如下:

根據運行截圖可以清晰地看到相關的單元格列數已經搜集起來,但是此處的問題是僅顯示了單元格,并沒有將里面的數據顯示出來。

3. 顯示單元格的數據,進行數據篩選和合并

若要完整顯示相關的數據,還需要一步,即顯示單元格的數據,方法為rows[0].value,其運行截圖如下:

此處只是單元格簡單顯示某一列的內容,如果要對單元格的數據進行篩選和分析,還需要運用循環和條件If來進行分析,分析的思路與方法如下:If條件,但是此處的If條件語句可以分析所有的數據,前提是必須要把所需要的數據搜集起來。

對單元格Cell的操作有三個主要特征:一是讀取每一行,然后獲取需要的列數;二是根據所有的列數,對需要的列數進行切片,然后根據If條件判斷,獲取需要的值。

案例:如何提取某部分值,再進行篩選?將里面的姓名和觀看時間搜集起來,再進行數據篩選:字符串切片。

for rows in sheet.iter_rows(min_row=1):

name=rows[0].value

time=rows[2].value

time_int=int(time[0:-2])

if time_intlt;100:

print(name,time_int)

(二)對工作表Sheet的操作

1. 操作單個工作表

操作單個工作表的邏輯在于搜集起來所有的工作簿,由于工作簿的存儲邏輯為字典,字典的一個特定的含義即為鍵值對,那么就可以直接根據字典的邏輯獲取其單個工作表,寫法為工作簿名字[‘工作表名字’],即s=w['Sheet1'],其中w代表工作簿的命名;還有一種操作方法根據邏輯存儲結構來獲取,即首先獲取所有的工作簿,再根據地址找到需要的工作簿,即所有工作簿名字[地址],寫法實例:w.worksheets[0],其中worksheets為Openpyxl里面固定的一個方法,目的便是獲取所有的工作簿。

2. 同時操作多個工作表

遍歷法即利用循環結構將其需要的元素進行一個個地搜集,在Python當中可以利用for循環進行工作表的搜集,寫法為for s_name in wb.sheetnames,將需要的內容鑲嵌到這個庫當中,即為For循環所有的Sheet表。

圖中可以清楚地看到這個Eexcl表格中包含三個工作表,Sheet1是達州,Sheet2為成都,Sheet3為巴中,這三個工作表可以根據for循環的邏輯按照順序:Sheet1—Sheet2—Sheet3,這樣便可把所有需要的文件遍歷出來。

案例:計算達州,巴中,成都第二行的總和。其主要代碼如下:

for s_name in wb.sheetnames:

sheet=wb[s_name]

to=0

for row in sheet.iter_rows(min_row=2):

c=row[1]

to=to+c.value

print(s_name,to)

其運行截圖如下:

解決問題的主要思路是遍歷Sheets的名字,將所有的Sheet表的名字找到相應的Sheet表,再單獨操作不同的Sheet表,并且運用相關的邏輯運算方法把需要的單元格進行操作來運行一遍。此處主要運用求和算法累加,利用一個新的變量To對需要的單元格的進行累加求和,并將值搜集起來,在對需要的單元格進行計算的時候仍然需要對單元格進行遍歷,因為不止一個單元格,需要將所有的單元格都梳理一遍再進行運算。

(三)對工作簿Workbook的操作

1. 操作單個工作簿

操作單個工作簿的邏輯與工作表一致,要學會打開不同的工作簿來進行操作,打開工作簿進行運算的方法就是openpyxl.load_workbook(“文件名”),這個方法最大的問題在于容易文件打開出錯,其主要的原因在于,Python主程序必須與Eexcl文件邏輯放在同一菜單下,如果不在同一菜單,就無法對文件進行操作。圈住的則為需要操作的Eexcl文件,下面的Test2則為Python中需要運行的文件,可以清楚地看到,兩者在同一級別上,即在同一工程文件下的二級目錄,這樣的文件只需要一個寫法,便可輕易打開,其打開方法為openpyxl.load_workbook('collect.xlsx'),即調用openpyxl自帶的方法并且將其打開。

2. 操作多個工作簿

操作多個工作簿最大的問題在于必須解決多個工作簿不在同一路徑的問題,如果在同一路徑下,那么只能打開一個工作簿,即要解決不同的路徑問題,需要在此處引入一個Python自帶的路徑庫,即Os與Is對文件進行操作的庫,這個路徑庫為os.path。首先需要將這個包導入,導入以后就可以打開不同的文件庫了,打開方法為:os.path.join(“一級文件”“二級文件”“X級文件”),根據這個方法就可以很便利地將任意目錄的文件打開。此處可以將需要操作的Eexcl文件放在一個文件夾下面,然后再打開這個文件夾,操作下面的Eexcl文件。有了文件夾即可以對需要的文件進行數據處理與操作了,方法也是利用For循環遍歷文件夾的工作簿,然后再遍歷工作簿下面不同的工作表,即可以將所有需要操作的Eexcl表格進行批量化處理與實踐。其運行截圖如下:

其主要代碼如下:

di_path=os.path.join(“新建文件夾”)

#獲取所有目錄的名字:

for dir_name in os.listdir(di_path):

path=os.path.join(di_path,dir_name)

wb=openpyxl.load_workbook(path)

根據以上的程序可以清楚地看見,首先獲取文件夾,然后獲取所有文件夾下面Eexcl工作簿的名字,根據名字將其路徑連接起來,最后再根據循環結構遍歷所有的文件內容,這樣就可以將所有的Eexcl文件進行批量化處理了。

三、結語

Openpyxl模塊對于批量化處理的優勢在于根據Eexcl文件的操作與Openpyxl模塊的內部存儲機制一一對應,將不同存儲邏輯下的Eexcl文件進行搜集與分析,對Eexcl文件進行詳細的梳理與分析,簡單來說,Openpyxl模塊就是專門為Eexcl設計的進行批量化處理的最優解,原因在于Workbook工作簿包含Sheet表,Sheet表又包含Cell(單元格),與Eexcl的內在存儲機制一一對應,從而實現Eexcl文件的智能化處理。

參考文獻:

[1] 孟麗,王慶芳. 計算機技術在辦公自動化中的應用[J]. 中國高新科技,2023(01):123-125.

[2] 劉靜,王鳳,孟星,等. Python在數據可視化中的應用案例分析[J]. 電子技術,2023,52(05):391-393.

[3] 汪凡. 計算機技術在辦公自動化中的應用探究[J]. 軟件,2021,42(08):110-112+134.

主站蜘蛛池模板: 18禁黄无遮挡网站| 久久99国产综合精品1| 自拍中文字幕| 一本大道无码高清| 成人精品亚洲| 亚洲香蕉久久| 久久无码av一区二区三区| 国产香蕉国产精品偷在线观看| 在线观看视频99| 综合色亚洲| 无码高潮喷水在线观看| 欧美精品在线视频观看| 国产成人亚洲欧美激情| 中文字幕无码制服中字| 久久久精品久久久久三级| 视频在线观看一区二区| 日韩av资源在线| 亚洲无码不卡网| 精品欧美视频| 成人小视频在线观看免费| 99无码中文字幕视频| 日本亚洲成高清一区二区三区| 久久久久国色AV免费观看性色| 亚洲国产日韩在线观看| 高潮爽到爆的喷水女主播视频| 亚洲综合精品香蕉久久网| 狠狠色噜噜狠狠狠狠色综合久 | 国产精品无码一二三视频| 国产亚洲欧美在线视频| 久久综合亚洲色一区二区三区| 国产成人午夜福利免费无码r| 国产成人高精品免费视频| 久久黄色视频影| 国产日韩精品欧美一区喷| 91亚洲免费| 欧美国产日产一区二区| 亚洲va视频| 欧美日韩导航| 国产簧片免费在线播放| 97狠狠操| 亚洲经典在线中文字幕| 免费a在线观看播放| 亚洲成人福利网站| 毛片免费在线视频| 亚洲无码精彩视频在线观看| 天天综合网色中文字幕| 秋霞国产在线| 国产午夜福利亚洲第一| 国产成人1024精品| 99精品在线视频观看| 欧美三级视频在线播放| 精品视频一区在线观看| av大片在线无码免费| 国产精品蜜芽在线观看| 亚洲欧美另类久久久精品播放的| 高清久久精品亚洲日韩Av| 制服丝袜一区二区三区在线| 中国国产高清免费AV片| 精品三级网站| 久青草网站| 欧美yw精品日本国产精品| 五月婷婷欧美| 欧美在线天堂| 97国产在线观看| 国产精品污视频| 亚洲AV无码一区二区三区牲色| 国产成人高清精品免费| 亚洲国产一区在线观看| 91视频99| 国产成人高清精品免费| 国产一级视频久久| 狠狠操夜夜爽| 一级毛片免费观看久| 国产成人无码AV在线播放动漫 | 99在线视频精品| 内射人妻无套中出无码| 2018日日摸夜夜添狠狠躁| 2020久久国产综合精品swag| 精品久久777| 国产爽歪歪免费视频在线观看| 黄网站欧美内射| 久久精品中文字幕免费|