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

讀操作
獲取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) 打?。篶ase
獲取行和列
獲取sheet中有效行數(shù):
row = table.nrows print(row) 打?。?
獲取sheet中有效列數(shù):
col = table.ncols print(col) 打印:10
獲取一行中有多少列數(shù)據(jù):
col = table.row_len(0) print(col)
獲取指定行中的所有數(shù)據(jù):
''' rowx表示是獲取第幾行的數(shù)據(jù) start_col表示從索引為多少開始,end_colx表示從索引為多少結(jié)束 end_colx為None表示結(jié)束沒有限制 獲取指定行中的數(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表示索引為多少結(jié)束 end_rowx為None表示結(jié)束沒有限制 獲取指定列中的數(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
下面寫個(gè)例子吧,就是將所有run為yes的行打印出來,其實(shí)在日常工作中就是將run為yes的用例執(zhí)行一遍啦,雖然我們并不用excel來存儲(chǔ)測(cè)試用例。這里直接將其定義成一個(gè)裝飾器吧。
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))
打?。狠斎氲穆窂綖镃:\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': ''}
總結(jié)
到此這篇關(guān)于用python實(shí)現(xiàn)讀取xlsx表格操作的文章就介紹到這了,更多相關(guān)python讀取xlsx表格內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中Matplotlib繪圖保存圖片時(shí)調(diào)節(jié)圖形清晰度或分辨率的方法
有時(shí)我們?cè)谑褂胢atplotlib作圖時(shí),圖片不清晰或者圖片大小不是我們想要的,這篇文章主要給大家介紹了關(guān)于Python中Matplotlib繪圖保存圖片時(shí)調(diào)節(jié)圖形清晰度或分辨率的相關(guān)資料,需要的朋友可以參考下2024-05-05
python 讀取視頻,處理后,實(shí)時(shí)計(jì)算幀數(shù)fps的方法
今天小編就為大家分享一篇python 讀取視頻,處理后,實(shí)時(shí)計(jì)算幀數(shù)fps的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07
PyQt6/PySide6 的 QPropertyAnimation 類適用場(chǎng)景分析
QGraphicsView和QGraphicsScene是Qt圖形視圖框架的核心類,用于構(gòu)建高性能、可交互的2D圖形界面,QGraphicsView 和 QGraphicsScene 為復(fù)雜圖形應(yīng)用提供了強(qiáng)大支持,本文給大家介紹PyQt6/PySide6 的 QPropertyAnimation 類,感興趣的朋友一起看看吧2025-03-03
Django的ListView超詳細(xì)用法(含分頁paginate)
這篇文章主要介紹了Django的ListView超詳細(xì)用法(含分頁paginate),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
解決python報(bào)錯(cuò)MemoryError的問題
今天小編就為大家分享一篇解決python報(bào)錯(cuò)MemoryError的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06
在Django中創(chuàng)建動(dòng)態(tài)視圖的教程
這篇文章主要介紹了在Django中創(chuàng)建動(dòng)態(tài)視圖的教程,Django是Python重多人氣框架中最為著名的一個(gè),需要的朋友可以參考下2015-07-07
pytorch 如何把圖像數(shù)據(jù)集進(jìn)行劃分成train,test和val
這篇文章主要介紹了pytorch 把圖像數(shù)據(jù)集進(jìn)行劃分成train,test和val的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05

