前言
利用selenium在做自動化測驗的時候,經常會用到資料來做批量測驗,常用的方式有讀取txt檔案,xml檔案,csv檔案以及excel文
件幾種,
使用 excel 來做資料管理時,需要利用 xlrd、xlwt 開源包來讀寫 excel,
1、安裝xlrd、xlwt
pip install xlrd
pip install xlwt
2、對excel表的資料讀取操作
在C:\Users\Any\Desktop下,我們有一個名字叫test1的excel檔案,里面的Sheet1資料表中有如下資料:
我們期望從上表中獲取搜索詞,并在百度輸入框中進行關鍵字搜索,首先需要匯入xlrd和xlwt,因為運行速度太快,為了方便看清
楚我這邊在每輸入一次關鍵詞后強制sleep了兩秒,
from selenium python學習交流Q群:906715085### import webdriverfrom selenium.webdriver.support. wait import WebDriverWaitfrom selenium. webdriver.support import expected_conditionsfrom selenium.webdriver.common. by import Byimport timeimport xlrd,xlwtif __name__=="__main__": driver=webdriver.Chrome() driver.get("http://www.baidu.com") file_test=xlrd.open_workbook(r"C:\Users\Any\Desktop\test1.xlsx")#讀取test1.xlsx檔案 count=len(file_test.sheets())#獲取該檔案中的作業簿數 print("作業簿總數為:",count) table1=file_test.sheet_by_name("Sheet1")#根據作業簿名字獲取該作業簿的資料 nrows=table1.nrows #獲取作業簿行數 ncols=table1.ncols #獲取作業簿列數 print("Sheet1的行數為:",nrows,"列數為:",ncols) #從第二行開始,遍歷Sheet1中的資料(第一行為表頭) for i in range(1,nrows): rowvalues=table1.row_values(i) #按行讀取資料 key=rowvalues[1] #第一列為序號,我們取第二列的搜索詞 print("搜索詞:",key) driver.find_element_by_id("kw").clear()#清空搜索框中的內容 driver.find_element_by_id("kw").send_keys(key) #根據搜索詞填入百度搜索框 WebDriverWait(driver,3).until(expected_conditions.visibility_of_element_located((By.ID,"su")))#顯性等待 driver.find_element_by_id("su").click()#點擊百度一下按鈕 time.sleep(2) driver.quit()
運行之后就會看到print出來的資料如上,可以確認我們的資料是沒錯的,print一下也可以方便除錯,從瀏覽器中也可以直觀的感
受到整個搜索程序的,
對作業簿的讀操作還有很多,如下有一下較為常用的幾個,
打開檔案
data = https://www.cnblogs.com/1234567FENG/p/xlrd.open_workbook("file_path") #打開檔案
獲取一個作業簿
方式也有幾種,上面代碼我們是通過作業簿的名字進行獲取的,
table=data.sheets()[0] #通過索引順序獲取table=data.sheet_by_index(0) #通過索引順序獲取table=data.sheet_by_name(u"name") #通過名稱獲取
獲取某個作業簿的行列數
table.nrows #獲取行數 table.nrows #獲取列數
獲取某個作業簿的行列值(陣列)
table.row_values(i) #獲取某行值 table.col_values(i) #獲取某列值
獲取某個單元格的值
cell_A1 = table.cell(0,0).value #獲取A1單元格的值 cell_A1 = table.row(0)[0].value #通過行索引單元格A1的值 cell_A1 = table.col(0)[0].value #通過列索引單元格A1的值
3、對Excel檔案的寫操作
import xlrd,xlwtif __name__=="__main__": wookbook = xlwt.Workbook() #創建作業簿 sheet1 = wookbook.add_sheet('Sheet_one',cell_overwrite_ok=True) #創建sheet,名字為Sheet_one headlist = ['序號','關鍵字','備注'] #表頭資料 row = 0 col = 0 #寫入表頭資料 for head in headlist: sheet1.write(row,col,head) col=col+1 #寫入4行資料 len = 5 for i in range(1,len): sheet1.write(i,0,i) sheet1.write(i,1,"搜索關鍵字{}".format(i)) sheet1.write(i,2," ") print("寫入第{}行資料".format(i)) wookbook.save(r"C:\Users\Any\Desktop\xlwt_text.xlsx") #保存檔案,命名為xlwt_text.xlsx
運行之后,可以看到桌面上生成了一個xlwt_text.xlsx的檔案,打開看到里面的資料,sheet名和其內容都是我們剛剛輸入的資料
對于Excel的資料寫入操作,有以下幾個常用的幾個,
創建excel檔案 wookbook = xlwt.Workbook() #創建作業簿 創建Sheet sheet = wookbook.add_sheet('Sheet_name',cell_overwrite_ok=True) #創建sheet 寫入單元格資料 sheet.write(row,col,data) #寫入該單元格資料 保存檔案 wookbook.save(file_path) #保存
最后
你學會了嗎?這么簡單別跟我說沒有學會,有問題的記得點贊評論喲!!學習的事馬虎不得滴,這一篇到這里就結束了,下一篇
再見…
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/494173.html
標籤:Python
