案例介紹
Excel模塊是用來向用戶提供一系列操作Excel的SDK,讓用戶通過簡單的參數和方法調用來實現一些復雜的操作。要使用Excel模塊,需要使用 rpa.app.microsoft.excel
進行操作。
案例實現
1、案例一
業務場景:抓取天貓商品信息數據,并保存到Excel中。案例流程:打開Excel-設置字段-打開天貓-搜索目標商品信息-抓取數據-填充到Excel中。
1).示例代碼(文件地址需換成自己本地):
from rpa.core import *
from rpa.utils import *
import rpa4 as rpa # 使用V3引擎
def start():
# 在此處開始編寫您的應用
'''
爬取淘寶商品信息sdk
商品名稱
'''
#打開Excel表格
xls = rpa.app.microsoft.excel.open(file = r'C:\Users\派大星\Desktop\淘寶男裝.xlsx',visible = True)
sheet = xls.get_sheet()
#激活當前sheet
sheet.activate()
#設置A、B、C列列寬
sheet.set_col_width(col = 'A',width = '6')
sheet.set_col_width(col = 'B',width = '65')
sheet.set_col_width(col = 'C',width = '7')
#向A1、B1、C1分別寫入序號、男裝名稱、價格
var = '序號'
sheet.write(range ='A1',value = var)
var = '商品名稱'
sheet.write(range ='B1',value = var)
var = '價格'
sheet.write(range ='C1',value = var)
#打開chrome 網頁
page = rpa.app.chrome.create('https://www.tmall.com/?from=tianmao.com')
#天貓輸入框輸入-搜索男裝t恤短袖
var = '男裝t恤短袖'
page.input_text("天貓 - 搜索輸入框",value = var)
#點擊搜索
page.click("天貓—搜索")
flag = 0
count_data = 1
while True:
if flag == 4:
break
else:
#獲取所有男裝-價格-名稱
# 由于搜索商品新打開一個頁簽頁面,需要重新賦值新頁簽的對象,
page = rpa.app.chrome.catch('男裝t恤短袖-天貓', mode='title', pattern='contain')
count = 1
sleep(3)
for i in range(1,61):
var = page.text(element = "男裝衣服名稱",index = i)
sheet.write(range = 'B'+str(count+count_data),value = var)
sheet.write(range = 'A'+str(count+count_data),value = str(count_data))
var = page.text(element = "男裝衣服價格",index = i)
sheet.write(range = 'C'+str(count+count_data),value = var)
count_data+=1
flag += 1
page.click("男裝t恤短袖—下一頁")
sleep(3)
xls.save()
2、案例二
業務場景:操作Excel數據透視表。案例流程:創建透視表-刷新透視表-獲取透視表篩選列的所有項-選擇/取消選擇一組透視表篩選項。
1).設置以及創建透視表
創建前的Excel表格展示:創建透視表的透視表格展示:代碼示例(文件地址需換成自己本地):
xls = rpa.app.microsoft.excel.open(r'C:\Users\XXXX\Desktop\數據透視表.xlsx',visible = True)
sheet = xls.get_sheet('Sheet1')
pivot_settings = rpa.app.microsoft.excel.PivotTableSettings('MyPivotTable')
pivot_settings.columns['購買者'] = {} # 添加"列標簽"
pivot_settings.filters['日期'] = {} # 添加"篩選字段"
pivot_settings.rows['類型'] = {} # 添加"行標簽"
pivot_settings.values['金額'] = {"Function": "xlSum"} # 添加"數值"
sheet.create_pivot_table('Sheet1', 'A1:D8', '透視表', 'A1', pivot_settings)
sleep(3)
xls.save()
2).刷新透視表
刷新前透視表前展示:刷新透視表后展示:示例代碼(文件地址需換成自己本地):
xls = rpa.app.microsoft.excel.open(r'C:\Users\XXX\Desktop\數據透視表.xlsx',visible = True)
sheet1 = xls.get_sheet("Sheet1")
sheet1.write("D3", "3434") # 修改原數據的值
sheet2 = xls.get_sheet('透視表')
sheet2.refresh_pivot_table(index=1)
sleep(5)
xls.save()
3).獲取透視表篩選列的所有項
示例代碼(文件地址需換成自己本地):
xls = rpa.app.microsoft.excel.open(r'C:\Users\XXX\Desktop\數據透視表.xlsx',visible = True)
sheet = xls.get_sheet('透視表')
items = sheet.get_all_pivot_field_items('購買者')
print(items)
輸出內容:['爸爸', '百歲', '媽媽']
4).選擇/取消選擇一組透視表篩選項
操作透視表之前展示:進行操作后透視表展示:示例代碼(文件地址需換成自己本地):
xls = rpa.app.microsoft.excel.open(r'C:\Users\XXX\Desktop\數據透視表.xlsx',visible = True)
sheet = xls.get_sheet('透視表')
sheet.select_pivot_field_items('購買者', ["爸爸"], select=False)
sleep(1)
sheet.select_pivot_field_items('類型', ["門票", "食品", "書籍", "音樂"],select = True)
sleep(1)
xls.save()
文檔內容是否對您有幫助?