91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python處理Excel數據的方法

發布時間:2020-06-24 11:27:40 來源:億速云 閱讀:234 作者:清晨 欄目:編程語言

這篇文章將為大家詳細講解有關Python處理Excel數據的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

 

一、pandas的安裝:

  1.安裝pandas其實是非常簡單的,pandas依賴處理Excel的xlrd模塊,所以我們需要提前安裝這個,安裝命令是:pip install xlrd

  2.開始安裝pandas,安裝命令是:pip install pandas

二、讀取excel文件

webservice_testcase.xlsx結構如下:

Python處理Excel數據的方法

1.首先我們應該先將這個模塊導入

import pandas as pd

2.讀取表單中的數據:

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx')#這個會直接默認讀取到這個Excel的第一個表單
data=sheet.head()#默認讀取前5行數據
print("獲取到所有的值:\n{0}".format(data))#格式化輸出   

3.也可以通過指定表單名來讀取數據

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx',sheet_name='userRegister')
data=sheet.head()#默認讀取前5行數據
print("獲取到所有的值:\n{0}".format(data))#格式化輸出

4.通過表單索引來指定要訪問的表單,0表示第一個表單,也可以采用表單名和索引的雙重方式來定位表單,也可以同時定位多個表單,方式都羅列如下所示

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx',sheet_name=['sendMCode','userRegister'])#可以通過表單名同時指定多個
# sheet=pd.read_excel('test_data\\webservice_testcase.xlsx',sheet_name=0)#可以通過表單索引來指定讀取的表單
# sheet=pd.read_excel('test_data\\webservice_testcase.xlsx',sheet_name=['sendMCode',1])#可以混合的方式來指定
# sheet=pd.read_excel('test_data\\webservice_testcase.xlsx',sheet_name=[1,2])#可以通過索引 同時指定多個
data=sheet.values#獲取所有的數據,注意這里不能用head()方法
print("獲取到所有的值:\n{0}".format(data))#格式化輸出

二、操作Excel中的行列

1.讀取制定的某一行數據:

sheet=pd.read_excel('webservice_testcase.xlsx')#這個會直接默認讀取到這個Excel的第一個表單
data=sheet.ix[0].values#0表示第一行 這里讀取數據并不包含表頭
print("讀取指定行的數據:\n{0}".format(data))

得到了如下結果:

Python處理Excel數據的方法

2.讀取指定的多行:

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx')#這個會直接默認讀取到這個Excel的第一個表單
data=sheet.ix[[0,1]].values#0表示第一行 這里讀取數據并不包含表頭
print("讀取指定行的數據:\n{0}".format(data))

得到了如下的結果:

Python處理Excel數據的方法

3.讀取指定行列的數據:

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx')#這個會直接默認讀取到這個Excel的第一個表單
data=sheet.ix[0,1]#讀取第一行第二列的值
print("讀取指定行的數據:\n{0}".format(data))

得到了如下結果:

Python處理Excel數據的方法

4.讀取指定的多行多列的值:

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx')
data=sheet.ix[[1,2],['method','description']].values#讀取第二行第三行的method以及description列的值,這里需要嵌套列表
print("讀取指定行的數據:\n{0}".format(data))

得到了如下的結果:

Python處理Excel數據的方法

 5.讀取所有行指定的列的值:

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx')
data=sheet.ix[:,['method','description']].values#讀取第二行第三行的method以及description列的值,這里需要嵌套列表
print("讀取指定行的數據:\n{0}".format(data))

得到了如下的結果:

Python處理Excel數據的方法

6.獲取行號輸出:

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx')
print("輸出行號列表",sheet.index.values)

得到了如下的結果:

Python處理Excel數據的方法

7.獲取列名輸出:

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx')
print("輸出列標題",sheet.columns.values)

得到了如下的結果:

Python處理Excel數據的方法

8.獲取指定行數的值:

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx')
print("輸出值",sheet.sample(2).values)

9.獲取指定列的值

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx')
print("輸出值",sheet['description'].values)

得到了如下的結果:

Python處理Excel數據的方法

三、將excel中的每一條數據處理成字典,然后讓如一個列表中

test_data=[]
sheet = pd.read_excel(self.file_name, sheet_name=key)
for i in sheet.index.values:#獲取行號的索引,并對其進行遍歷:#根據i來獲取每一行指定的數據 并利用to_dict轉成字典
  row_data=sheet.ix[i,['id','method','description','url','param','ExpectedResult']].to_dict()
  test_data.append(row_data)

另外,我們可以把測試用例相關的東西寫入一個配置文件當中,讀取的時候可以根據配置文件中的內容來進行讀取:

配置文件如下:

[CASECONFIG]
sheet_list={'sendMCode':'all',
             'userRegister':'all',
             'verifyUserAuth':'all',
             'bindBankCard':[]
             } 

配置文件處理.py代碼如下:

import configparser
class ReadConfig:
    def read_config(self,file_path,section,option):
        cf=configparser.ConfigParser()
        cf.read(file_path,encoding="utf-8")
        value=cf.get(section,option)
        return value

project_path.py代碼如下:

import os
Project_path=os.path.split(os.path.split(os.path.realpath(__file__))[0])[0]
#配置文件路徑
case_config_path=os.path.join(Project_path,'config','case.config')
#測試用例的路徑
test_cases_path=os.path.join(Project_path,'test_data','webservice_testcase.xlsx')

然后我們把讀取excel中的內容封裝成一個類,代碼示例如下:

from common import project_pathfrom common.read_config import ReadConfig as RC
import  pandas  as pd

class DoExcel:
    def __init__(self,file_name):
        self.file_name=file_name
        self.sheet_list=eval(RC().read_config(project_path.case_config_path,'CASECONFIG','sheet_list'))
    def do_excel(self):
        test_data=[]
        for key in self.sheet_list:
            if self.sheet_list[key] == 'all':  # 讀取所有的用例
                sheet = pd.read_excel(self.file_name, sheet_name=key)
                for i in sheet.index.values:#獲取行號的索引,并對其進行遍歷:
                    #根據i來獲取每一行指定的數據 并利用to_dict轉成字典
                    row_data=sheet.ix[i,['id','method','description','url','param','ExpectedResult']].to_dict()
                    test_data.append(row_data)
       else:
                sheet = pd.read_excel(self.file_name, sheet_name=key)
                for i in self.sheet_list[key]:#根據list中的標號去讀取excel指定的用例
                    row_data=sheet.ix[i-1,['id','method','description','url','param','ExpectedResult']].to_dict()
                    test_data.append(row_data)
        return  test_data
if __name__ == '__main__':
    test_data=DoExcel(project_path.test_cases_path).do_excel()
    print(test_data)

 如果將配置改成如下內容:

[CASECONFIG]
sheet_list={'sendMCode':[1,3,5],
      'userRegister':[],
      'verifyUserAuth':[],             
      'bindBankCard':[]
           } 

我們將會得到如下的運行結果:

[{: 1, : , : , : , : , : }, 
{: 3, : , : , : , : , : }, 
{: 5, : , : , : , : , : }]

   到此,將excel中的用例數據讀取成為[{key1:value1},{key2:value2},...,{keyn:valuen}]這樣的形式已經完畢,但是還有很多東西需要完善,比如用例中完成參數的替換,測試完成后回寫測試數據到excel對應的表格中等等內容。



關于Python處理Excel數據的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海口市| 嘉峪关市| 开阳县| 济宁市| 长治市| 台东县| 华亭县| 台南市| 万全县| 黄大仙区| 泽库县| 眉山市| 浦北县| 无棣县| 锦州市| 墨竹工卡县| 合水县| 四会市| 寿光市| 营口市| 广安市| 高雄市| 富阳市| 兴业县| 甘谷县| 南郑县| 高雄县| 丰镇市| 龙游县| 武陟县| 沙洋县| 潮安县| 衡阳市| 福建省| 舒兰市| 彩票| 咸阳市| 平舆县| 新昌县| 兴化市| 鄂托克旗|