用python實現(xiàn)讀取xlsx表格操作
前言
快要過年了,現(xiàn)在是工作的事情也不想干,學習也完全學不進去,關于xlsx的操作原本昨天已經(jīng)寫好了,不過悲催的是,忘記發(fā)布了直接關瀏覽器關閉后發(fā)現(xiàn)已經(jīng)丟失了。
以下操作均對照改表格操作:

讀操作
獲取sheet的方法
通過索引獲取sheet表格:
table = worbook.sheets()[0]
table = worbook.sheet_by_index(0)
通過sheet名稱獲?。?/p>
table = worbook.sheet_by_name(sheet_name='case')
獲取xlsx中所有sheet:
table = worbook.sheet_names() print(table) 打印:case
獲取行和列
獲取sheet中有效行數(shù):
row = table.nrows print(row) 打?。?
獲取sheet中有效列數(shù):
col = table.ncols print(col) 打?。?0
獲取一行中有多少列數(shù)據(jù):
col = table.row_len(0) print(col)
獲取指定行中的所有數(shù)據(jù):
''' rowx表示是獲取第幾行的數(shù)據(jù) start_col表示從索引為多少開始,end_colx表示從索引為多少結束 end_colx為None表示結束沒有限制 獲取指定行中的數(shù)據(jù)并以列表的形式返回 ''' table_list = table.row_values(rowx=0, start_colx=0, end_colx=None) print(table_list) 打?。篬'run', 'headers', 'pre_case_id', 'pre_fields', 'request_body', 'expect_result', 'assert_type', 'pass', 'update_time', 'response']
獲取列中的數(shù)據(jù):
''' colx表示是獲取第幾列的數(shù)據(jù) start_rowx表示從索引為多少開始,end_rowx表示索引為多少結束 end_rowx為None表示結束沒有限制 獲取指定列中的數(shù)據(jù)并以列表的形式返回 ''' table_list = table.col_values(colx=0, start_rowx=0, end_rowx=None) print(table_list) 打?。篬'run', 'yes', 'no', 'yes', 'no', 'no', 'no', 'no']
獲取單元格中值
獲取指定單元格中的值:
table = worbook.sheet_by_name(sheet_name='case') value = table.cell_value(rowx=0, colx=1) print(value) 打印:headers
下面寫個例子吧,就是將所有run為yes的行打印出來,其實在日常工作中就是將run為yes的用例執(zhí)行一遍啦,雖然我們并不用excel來存儲測試用例。這里直接將其定義成一個裝飾器吧。
import xlrd
class Readxlrd():
def __init__(self,func):
self.func = func
def __call__(self, *args, **kwargs):
self.func(*args)
worbook = xlrd.open_workbook(filename=args[0])
table = worbook.sheet_by_name(sheet_name=args[1])
row = table.nrows
for i in range(row):
if i >= 1:
combined_dict = {}
table_list = table.row_values(rowx=i, start_colx=0, end_colx=None)
table_head = table.row_values(rowx=0, start_colx=0, end_colx=None)
for k, v in zip(table_head, table_list):
combined_dict[k] = v
if combined_dict['run'] == 'yes':
print(combined_dict)
@Readxlrd
def test(route,sheet):
print('輸入的路徑為{},輸入的sheet是{}'.format(route,sheet))
打印:輸入的路徑為C:\Users\86182\Desktop\case.xlsx,輸入的sheet是case
{'run': 'yes', 'headers': '{"Content-Type": "application/x-www-form-urlencoded"}', 'pre_case_id': -1.0, 'pre_fields': '[]', 'request_body': '{"phone": "18262966312", "pwd": "123456"}', 'expect_result': '0', 'assert_type': 'code', 'pass': 'True', 'update_time': 44447.6884722222, 'response': ''}
{'run': 'yes', 'headers': '{"token":"token"}', 'pre_case_id': 1.0, 'pre_fields': '[{"field":"token","scope":"header"}]', 'request_body': '{}', 'expect_result': '0', 'assert_type': 'code', 'pass': 'True', 'update_time': 44447.6892476852, 'response': ''}
總結
到此這篇關于用python實現(xiàn)讀取xlsx表格操作的文章就介紹到這了,更多相關python讀取xlsx表格內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python中Matplotlib繪圖保存圖片時調節(jié)圖形清晰度或分辨率的方法
有時我們在使用matplotlib作圖時,圖片不清晰或者圖片大小不是我們想要的,這篇文章主要給大家介紹了關于Python中Matplotlib繪圖保存圖片時調節(jié)圖形清晰度或分辨率的相關資料,需要的朋友可以參考下2024-05-05
python 讀取視頻,處理后,實時計算幀數(shù)fps的方法
今天小編就為大家分享一篇python 讀取視頻,處理后,實時計算幀數(shù)fps的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07
PyQt6/PySide6 的 QPropertyAnimation 類適用場景分析
QGraphicsView和QGraphicsScene是Qt圖形視圖框架的核心類,用于構建高性能、可交互的2D圖形界面,QGraphicsView 和 QGraphicsScene 為復雜圖形應用提供了強大支持,本文給大家介紹PyQt6/PySide6 的 QPropertyAnimation 類,感興趣的朋友一起看看吧2025-03-03
Django的ListView超詳細用法(含分頁paginate)
這篇文章主要介紹了Django的ListView超詳細用法(含分頁paginate),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-05-05
在Django中創(chuàng)建動態(tài)視圖的教程
這篇文章主要介紹了在Django中創(chuàng)建動態(tài)視圖的教程,Django是Python重多人氣框架中最為著名的一個,需要的朋友可以參考下2015-07-07
pytorch 如何把圖像數(shù)據(jù)集進行劃分成train,test和val
這篇文章主要介紹了pytorch 把圖像數(shù)據(jù)集進行劃分成train,test和val的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05

