RPA - UiBot學習指南第一期丨資料處理(陣列)

weiyu05發表於2019-08-05

文丨 鄂攀

 

今天講解 UiBot中關於裡面資料處理的一些使用。

為什麼講資料處理呢?是因為在 SAP流程自動化中,或者客戶做資訊配置表的時候,發現有些對資料處理可能認識比較少的RPA工程師,在資料量非常大的情況下,依然去迴圈Excel裡面的單元格資料,來做批次處理。

 

這樣做的後果是,在資料量非常大的情況下,速度會很慢(相當於單調回歸),而如果放在 陣列或者字典 (唯一性)中做批次處理,那麼 速度至少提高十倍以上

 

陣列

假如我們想從 Excel中取出數量不固定的若干個銀行賬戶,並把它放在陣列裡面,進行迴圈處理。

第一步:開啟 Excel

開啟之前 ,先配置檔案路徑  。這個檔案路徑需要靈活處理,就像我之前講資訊配置表的處理一樣,獲取桌面檔案存放的路徑。( UiBot視覺化檢視

第二步:獲取好路徑以後,配置檔案完整路徑

這樣就得到一個,不會因為更換電腦,再修改檔案路徑的靈活路徑了。

 

第三步:開啟 Excel,去獲取賬戶資訊所在的列,放在陣列中。


第四步:需要透過 UiBot控制元件中陣列的 過濾 功能,去掉列名。


這樣就得到一個純銀行賬號的陣列,去對陣列進行迴圈處理就 OK了。

 

UiBot原始碼檢視

========Start========

dim  sRet = ""

dim  temp = ""

sRet =  Sys. GetSystemPath("desktop")

dim   檔案路徑

dim  objExcelWorkBook = ""

dim  arrayRet = ""

dim  arrRet = ""

TracePrint (sRet)

temp = "\\UiBot學習指南\\RPA_Config.xlsx"

檔案路徑 =sRet&temp

TracePrint (檔案路徑)

objExcelWorkBook =  Excel. OpenExcel(檔案路徑,true)

arrayRet = Excel.ReadColumn(objExcelWorkBook,"Sheet1","A1")

TracePrint (arrayRet)

arrRet =  Filter (arrayRet,"銀行賬號",false)

TracePrint (arrRet)

========End========

 

然後再說另一種資料處理。

有一些工程師在從外部獲取大量資料存放在 Excel裡面的時候,通常喜歡在迴圈的時候,把資料一個一個放入單元格里面,這個問題和上面說的一樣,速度效率會變得極低。

請看以下處理。


首先定義一個陣列,給他賦值一個需要的列名。

然後迴圈處理把需要的資料依次賦給它。

最後再把陣列一次性儲存在 Excel裡面就OK了。

UiBot原始碼檢視

========Start========

dim  陣列

dim objExcelWorkBook = ""

陣列 =["序號"]

For i=2 To 10

陣列 [i]=i

Next

TracePrint(陣列)

objExcelWorkBook=Excel.OpenExcel("C:\\Users\\Pande\\Desktop\\UiBot學習指南\\RPA_Config.xlsx",true)

Excel.WriteColumn(objExcelWorkBook,"Sheet1","B1",陣列,false)

========End========

 

特別說明

UiBot控制元件中 讀取列 ,在對資料進行讀取的時候,根本不用顧及最後一個資料在第幾行,直接寫那一列的第一個單元格就行,比如 "A1",獲取出來的陣列,沒有空元素,直接就是整列有資料的。


趕快用 UiBot試試效果吧


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69940722/viewspace-2652716/,如需轉載,請註明出處,否則將追究法律責任。

相關文章