中秋節快樂!這幾天真的是一邊烤肉一邊趕工寫文章,今天要延續昨天工作資料夾,工作資料夾執行流程是一個強大的工具,讓我們可以以 LowCode 方式處理工作資料夾中的文字檔案。通過 input 輸入物件、output 輸出物件和 api 物件,您可以輕鬆地讀取、修改和創建文字檔案,同時自動執行各種自動化任務。
昨天介紹過了解壓縮檔案,我們擁有一個「video_report.zip」檔案,可以利用 RPA 讓他來協助解壓縮檔案,只需要把昨天解壓縮後的檔案儲存起來,並且記住他的 UUID,我們後續就能夠延續使用。本次範例所用的 UUID 為 a5aad0fe-0bcf-41f1-8b50-243a1d014806。
// 讀取 input.zip 內檔案
let inputZip = api.zip()
await inputZip.load('video_report.zip')
let filesInZip = await inputZip.files()
filesInZip.forEach((file) => console.log(file))
// 解壓縮 input.zip 內的檔案 a.txt
await inputZip.extract('video_report.csv')
建立訓練命名技能群組,點擊『Workspace Script』模組,可以開始 LowCode 撰寫。
我們要執行自動化技能,您可以使用 API 函式 api.run(uuid)
,並提供相應的 UUID 識別碼執行特定的自動化技能。完成後會有 log 紀錄和 Json 檔,但最重要的是完成解壓縮。
// 呼叫上方建立的解壓縮自動化技能
await api.run('a5aad0fe-0bcf-41f1-8b50-243a1d014806')
我們原先的 CSV 檔案一共有 560004 筆資料,非常的大。為了方便資料處理,我們可以利用 RPA 完成自動切割 CSV 檔案。只需要使用 api.splitCSV() 即可完成。我們設定每 10000 筆資料切分一個檔案,我們能夠在工作資料夾看到被切分後的 small 檔案,並且寫成一張表 list.csv 儲存內容。
// 將工作資料夾中的CSV格式大檔案分割成多個CSV格式小檔案
let files = await api.splitCSV('large.csv', ',', 0, 'small.csv', 10000)
// 寫出的檔案:['small(0).csv', 'small(1).csv', ... ] 存成一個檔案列表
await api.writeCSV('list.csv', files.map((file, index) => {return {file, index}}), ['index','file'])
我們打開 list.csv 能夠看到每個 index 都有成功對應到一個檔案,就像是一個 dictionary 一樣。
我們也能寫個 log 利用 Debug 視窗來確認 csv 裡面的檔案。只需要用上 api.readCSV() 方法即可。
// 讀取工作資料夾中的CSV檔案並且印出資料
let list = await api.readCSV('list.csv')
console.log(list)
若是確定內容沒有問題後,即可結束本次的訓練,回到主畫面看看程式碼執行是否正常。
黃仁勳的一句話讓這個世界都瘋了,身為與數據打交道多年的我們能做些什麼呢? 很簡單就是跟著一起瘋。「You Learn the more, you Get the more.」。沒想到鐵人賽又一年了呢,這篇是 【Five mins RPA】 系列文章除此之外也歡迎大家走走逛逛關於我過去的文章
一個正在為 300 多萬訂閱的 Youtuber 服務的資料科學家,擅長將商管行銷導入機器學習與人工智慧,並且從大量的數據中找出 Insight,待過 FMCG、Communication、Digital Marketing,最近一直在資訊圈打滾,趕著不被這波人工智慧浪潮給吞噬,寫文章寫了好一段時間了,期待著這個社會每個人能在各個角力間不斷沖突而漸能找到一個平衡點並回歸最初的初心。