【RPA之家UiPath官方教程】數(shù)據(jù)處理
數(shù)據(jù)處理
在本課程中,我們將介紹使用三種最常見(jiàn)的數(shù)據(jù)類(lèi)型進(jìn)行數(shù)據(jù)操作:字符串,列表和字典。
受眾:RPA開(kāi)發(fā)人員
?
學(xué)習(xí)目標(biāo)
在本課程結(jié)束時(shí),您應(yīng)該能夠:
使用最常見(jiàn)的.NET方法來(lái)處理String變量;
使用特定的方法實(shí)例化,填充和操作List變量;
使用特定的方法實(shí)例化,填充和操作Dictionary變量;
使用UiPath Studio中的RegEx構(gòu)建器可以簡(jiǎn)化某些涉及字符串的數(shù)據(jù)處理方法。
?
關(guān)于本課程
描述
在本課程中,我們將介紹一些最具代表性的操作和數(shù)據(jù)處理示例。?這些將通過(guò)您在工作中會(huì)遇到的一些最常見(jiàn)的數(shù)據(jù)類(lèi)型進(jìn)行演示,即:
字符串
Lists
字典
受眾:RPA開(kāi)發(fā)人員
?
課程時(shí)間:4小時(shí)
完成課程的要求:通過(guò)最低80%的分?jǐn)?shù)通過(guò)課程測(cè)驗(yàn)
先決條件:
基本編程知識(shí)
RPA開(kāi)發(fā)人員角色課程簡(jiǎn)介
變量,數(shù)據(jù)類(lèi)型和控制流程
?
學(xué)習(xí)目標(biāo)
在本課程結(jié)束時(shí),您將能夠在UiPath Studio中執(zhí)行以下操作:
1使用最常見(jiàn)的.NET方法來(lái)處理String變量;
2使用特定的方法實(shí)例化,填充和操作List變量;
3使用特定的方法實(shí)例化,填充和操作Dictionary變量;
4使用UiPath Studio中的RegEx構(gòu)建器可以簡(jiǎn)化某些涉及字符串的數(shù)據(jù)處理方法。
注意:本課程是使用UiPath Studio 2019.7創(chuàng)建的。 最新的Community Edition版本中的某些元素可能有所不同。
?
總覽
在開(kāi)始之前,我們先看一些基本概念。
什么是數(shù)據(jù)操縱?
數(shù)據(jù)操縱是對(duì)數(shù)據(jù)進(jìn)行修改,結(jié)構(gòu)化,格式化或排序以促進(jìn)其使用和增強(qiáng)其管理能力的過(guò)程。
我將在哪些業(yè)務(wù)場(chǎng)景中使用數(shù)據(jù)操縱?
網(wǎng)站所有者經(jīng)常采用數(shù)據(jù)處理方法從其Web服務(wù)器日志中提取和查看特定信息。 這樣就可以觀看他們最受歡迎的頁(yè)面以及訪問(wèn)量來(lái)源。
考慮詢問(wèn)公共財(cái)務(wù)或法律數(shù)據(jù)庫(kù)的過(guò)程。?數(shù)據(jù)處理為信用分析人員提供了僅提取相關(guān)數(shù)據(jù)并在其他文檔中使用或與其他來(lái)源的信息相關(guān)聯(lián)的方法。
?
字符串
這些是什么?
字符串是與文本相對(duì)應(yīng)的數(shù)據(jù)類(lèi)型。?很難想象不涉及字符串使用的自動(dòng)化方案。
每當(dāng)需要捕獲,處理,在應(yīng)用程序之間發(fā)送或顯示文本時(shí),字符串都會(huì)派上用場(chǎng)(除非數(shù)據(jù)是結(jié)構(gòu)化的,例如表格)。
?
在哪些業(yè)務(wù)場(chǎng)景中您最有可能遇到字典?
獲取操作狀態(tài)
從較大的文本部分提取相關(guān)片段
向人類(lèi)用戶顯示信息
?
字符串方法
通過(guò)使用從VB.Net借用的字符串方法來(lái)完成字符串操作。 以下是RPA中最常用的一些方法:
Concat: 連接兩個(gè)指定對(duì)象的字符串表示形式,?表達(dá)式:String.Concat(VarName1,VarName2)
Contains: 檢查指定的子字符串是否出現(xiàn)在字符串中。?返回true或false,?表達(dá)式:VarName.Contains(“文本”)
Format:?將對(duì)象的值轉(zhuǎn)換為字符串(并將它們插入另一個(gè)文本),?表達(dá)式:String.Format(“ {0}是{1}”,VarName1,VarName2)
IndexOf:?返回字符串中字符首次出現(xiàn)的從零開(kāi)始的索引,?表達(dá)式:VarName1.IndexOf(“ a”)
Join:?連接集合中的元素并將其顯示為String,?表達(dá)式:String.Join(“ |”,CollVarName1)
Replace:?替換字符串中所有出現(xiàn)的子字符串,?表達(dá)式:VarName.Replace(“原始”,“已替換”)
Split:?使用給定的分隔符將字符串拆分為子字符串,?表達(dá)式:VarName.Split(“ |” c)(index)
Substring:?使用起始索引和長(zhǎng)度從字符串中提取子字符串,?表達(dá)式:VarName1.Substring(startIndex,length)
?
Lists
這些是什么?
列表(或List <T>,正如您將遇到的那樣)是由相同數(shù)據(jù)類(lèi)型(例如字符串或整數(shù))的對(duì)象組成的數(shù)據(jù)結(jié)構(gòu)。 每個(gè)對(duì)象在列表中都有固定的位置。 因此,可以通過(guò)索引對(duì)其進(jìn)行訪問(wèn)。 數(shù)組是用于存儲(chǔ)多個(gè)對(duì)象的固定大小的結(jié)構(gòu),而列表使我們可以添加,插入和刪除項(xiàng)。
列表可以存儲(chǔ)大量元素-名稱,數(shù)字,時(shí)間坐標(biāo)等。 列表提供了特定的操作方法,例如:
添加和刪除項(xiàng)目
搜索元素
遍歷項(xiàng)目(并對(duì)每個(gè)項(xiàng)目執(zhí)行某些操作)
排序?qū)ο?/p>
提取項(xiàng)目并將其轉(zhuǎn)換為其他數(shù)據(jù)類(lèi)型。
?
您最有可能遇到列表的哪些業(yè)務(wù)場(chǎng)景?
存儲(chǔ)需要進(jìn)行某種配置的項(xiàng)目團(tuán)隊(duì)成員的計(jì)算機(jī)名稱
收集并存儲(chǔ)符合特定條件的發(fā)票數(shù)量
跟蹤在某個(gè)時(shí)期內(nèi)在某個(gè)問(wèn)題上創(chuàng)建的票號(hào);
?
適用于集合的UiPath方法
可以使用.NET方法或UiPath Studio提供的收集方法來(lái)處理列表:
--添加到集合
將項(xiàng)目添加到指定的集合。?它等效于List.Add()。 例如,它可以用于將新名稱添加到公司名稱列表中。
--從集合中刪除
從指定的集合中刪除一個(gè)項(xiàng)目,并可以輸出一個(gè)布爾變量,以確認(rèn)刪除操作是否成功。?例如,可以使用此活動(dòng)從要處理的發(fā)票清單中刪除發(fā)票編號(hào)
--存在于集合中
通過(guò)輸出布爾值作為結(jié)果來(lái)指示給定集合中是否存在給定項(xiàng)目。?我們可以使用此活動(dòng)來(lái)檢查客戶列表是否包含特定名稱。
--清空集合
清除所有項(xiàng)目的指定集合。?一種可能的用途是在開(kāi)始新的過(guò)程的新階段之前清空集合,該階段將再次填充它。
?
字典
這些是什么?
字典(或字典<TKey,TValue>,就像您將遇到的那樣)是(鍵,值)對(duì)的集合,其中鍵是唯一的。 想一想您手機(jī)中的通訊錄,其中每個(gè)名字都有相應(yīng)的數(shù)據(jù)(電話號(hào)碼,電子郵件)。
實(shí)例化變量時(shí),必須選擇鍵和值的數(shù)據(jù)類(lèi)型。?詞典中的數(shù)據(jù)類(lèi)型可以是任何受支持的變量(例如,包括詞典)。
與“詞典”最相關(guān)的操作是:
添加和刪除(鍵,值)對(duì)
檢索與鍵關(guān)聯(lián)的值
將新值重新分配給現(xiàn)有鍵
?
在哪些業(yè)務(wù)場(chǎng)景中您最有可能遇到字典?
存儲(chǔ)配置詳細(xì)信息或在整個(gè)過(guò)程中需要訪問(wèn)的其他信息
存儲(chǔ)員工的職稱或其他相關(guān)信息
存儲(chǔ)供應(yīng)商的銀行帳戶
?
使用字典的方法
--初始化
就像在列表示例中一樣,字典必須初始化。?在以下示例中,初始化是在“分配”活動(dòng)中完成的。 但是,您可能還記得“列表”一章,可以在“變量面板”中完成此操作。
--新增
VarName.Add(Key,Value)–將項(xiàng)目添加到現(xiàn)有的Dictionary中。 由于“添加”不返回值,因此請(qǐng)使用“調(diào)用代碼”活動(dòng)。
--移除
VarName.Remove(Key)–從字典中刪除一項(xiàng)。 可以在“分配”活動(dòng)中使用。
--檢索
VarName.Item(Key)–通過(guò)其鍵返回Dictionary項(xiàng)
VarName.Count –返回字典項(xiàng)數(shù)的Int32值
VarName.ContainsKey(Key)–檢查具有給定鍵的項(xiàng)目在Dictionary中是否存在,并返回布爾結(jié)果
VarName.TryGetValue(Key,Value)–檢查字典中是否存在具有給定鍵的項(xiàng)目,并返回布爾結(jié)果和找到的值
?
正則表達(dá)式構(gòu)建器
它是什么?
正則表達(dá)式(REGEX,或regexp)是一種特定的搜索模式,可用于輕松匹配,定位和管理文本。 但是,創(chuàng)建RegEx表達(dá)式可能具有挑戰(zhàn)性。
UiPath Studio包含一個(gè)RegEx構(gòu)建器,可簡(jiǎn)化正則表達(dá)式的創(chuàng)建。
RegEx的典型用途包括:
輸入驗(yàn)證
字符串解析
數(shù)據(jù)抓取
字符串操作
?
我將在哪些業(yè)務(wù)場(chǎng)景中使用RegEx?
檢索遵循特定模式的文本片段,例如:
提取以特定數(shù)字開(kāi)頭的電話號(hào)碼;
即使它們沒(méi)有遵循特定的模式,也可以從批量文本中收集所有街道名稱-其中一些包含“街道”,其他包含“ Rd?!保来祟?lèi)推。
使用常規(guī)的String方法構(gòu)建相同的表達(dá)式將花費(fèi)更長(zhǎng)的時(shí)間–例如,RegEx具有預(yù)定義的表達(dá)式來(lái)查找字符串中的所有URL。
?
UiPath中使用正則表達(dá)式構(gòu)建器的方法:
Matches:?在輸入字符串中搜索所有出現(xiàn)的內(nèi)容,并返回所有成功的匹配項(xiàng)。
IsMath:?指示指定的正則表達(dá)式是否在指定的輸入字符串中找到匹配項(xiàng)。
Replace:?用指定的替換字符串替換與正則表達(dá)式模式匹配的字符串。