2020-04-14

#!/usr/bin/env python

# -*- coding: utf-8 -*-

#coding=utf-8

import requests

import json

import unittest

from test_xlsximport ExcelData

#url = 'http://172.16.134.11:8088/identity/v3/auth/tokens'

class token(unittest.TestCase):

url ='http://172.16.134.11:8088/identity/v3/auth/tokens'

? ? headers = {"Content-Type":"application/json"}

info = ExcelData(data_path='E:/api-test/data/token.xlsx',sheetname='token')

data1 = info.readExcel()

print(json.dumps(data1,indent=4))

import pdb

pdb.set_trace()

userinfo = [{"name":"dgh126","password":"111111","id":"d824a9adf9d8467db9d28c3c28683fd2","code":"201"}]

def test_login(self):

data = {

"auth": {

"identity": {

"methods": [

"password"

? ? ? ? ? ? ? ? ? ? ],

"password": {

"user": {

"name":"",

"domain": {

"name":"Default"

? ? ? ? ? ? ? ? ? ? ? ? ? ? },

"password":""

? ? ? ? ? ? ? ? ? ? ? ? }

}

},

"scope": {

"project": {

"id":""

? ? ? ? ? ? ? ? ? ? }

}

}

}

for itemin self.userinfo:

data["auth"]["identity"]["password"]["user"]["name"] = item["name"]

data["auth"]["identity"]["password"]["user"]["password"] = item["password"]

data["auth"]["scope"]["project"]["id"] = item["id"]

# print(data)

? ? ? ? ? ? print self.url

res = requests.post(url=self.url,headers=self.headers,json=data)

token = res.headers.get('X-Subject-Token')

print (token)

# json.loads, load string: string -> dict

# json.dumps, dump string: dict -> string

? ? ? ? ? ? result = res.status_code

print(result)

self.assertEqual(result,201,msg='not ok')

with open("E:/api-test/json/token.json",'w')as fs:

json.dump(res.json(), fs,indent=4)# indent=4 換行

? ? ? ? ? ? return token

# print(r.status_code)

# import pdb; pdb.set_trace()

# print(r.headers['X-Subject-Token'])

# r = requests.post(url=url, headers=headers, json=data)

# print(token)

? ? def test_create_cinder(self):

Token =self.test_login()

print("Token")

class Test():

def test1(self):

self.a = token("test_login")

self.a.test_login()

if __name__ =='__main__':

pass

? ? #unittest.main()

# test2 = Test()

# print "+++++++++++"

? ? # test2.test1()

獲取列表

#!/usr/bin/env python

# -*- coding: utf-8 -*-

#coding=utf-8

import xlrd

from xlrdimport xldate_as_tuple

import datetime

import collections

'''

xlrd中單元格的數據類型

數字一律按浮點型輸出,日期輸出成一串小數,布爾型輸出0或1,所以我們必須在程序中做判斷處理轉換

成我們想要的數據類型

0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error

'''

class ExcelData():

# 初始化方法

? ? def __init__(self, data_path, sheetname):

#定義一個屬性接收文件路徑

? ? ? ? self.data_path = data_path

# 定義一個屬性接收工作表名稱

? ? ? ? self.sheetname = sheetname

# 使用xlrd模塊打開excel表讀取數據

? ? ? ? self.data = xlrd.open_workbook(self.data_path)

# 根據工作表的名稱獲取工作表中的內容(方式①)

? ? ? ? self.table =self.data.sheet_by_name(self.sheetname)

# 根據工作表的索引獲取工作表的內容(方式②)

# self.table = self.data.sheet_by_name(0)

# 獲取第一行所有內容,如果括號中1就是第二行,這點跟列表索引類似

? ? ? ? self.keys =self.table.row_values(0)

# 獲取工作表的有效行數

? ? ? ? self.rowNum =self.table.nrows

# 獲取工作表的有效列數

? ? ? ? self.colNum =self.table.ncols

# 定義一個讀取excel表的方法

? ? def readExcel(self):

# 定義一個空列表

? ? ? ? datas = []

for iin range(1,self.rowNum):

# 定義一個空字典

? ? ? ? ? ? sheet_data = {}

for jin range(self.colNum):

# 獲取單元格數據類型

? ? ? ? ? ? ? ? c_type =self.table.cell(i,j).ctype

# 獲取單元格數據

? ? ? ? ? ? ? ? c_cell =self.table.cell_value(i, j)

if c_type ==2 and c_cell %1 ==0:# 如果是整形

? ? ? ? ? ? ? ? ? ? c_cell =int(c_cell)

elif c_type ==3:

# 轉成datetime對象

? ? ? ? ? ? ? ? ? ? date = datetime.datetime(*xldate_as_tuple(c_cell,0))

c_cell = date.strftime('%Y/%d/%m %H:%M:%S')

elif c_type ==4:

c_cell =True if c_cell ==1 else False

? ? ? ? ? ? ? ? sheet_data[self.keys[j]] = c_cell

# 循環每一個有效的單元格,將字段與值對應存儲到字典中

# 字典的key就是excel表中每列第一行的字段

# sheet_data[self.keys[j]] = self.table.row_values(i)[j]

# 再將字典追加到列表中

? ? ? ? ? ? datas.append(sheet_data)

# 返回從excel中獲取到的數據:以列表存字典的形式返回

? ? ? ? return datas

if __name__ =="__main__":

data_path ="E:/api-test/data/token.xlsx"

? ? sheetname ="token"

? ? get_data = ExcelData(data_path, sheetname)

datas = get_data.readExcel()

print(datas)


+++++++++++++++++++++++

有序打印

#!/usr/bin/env python

# -*- coding: utf-8 -*-

#coding=utf-8

import xlrd

from xlrdimport xldate_as_tuple

import datetime

import collections

'''

xlrd中單元格的數據類型

數字一律按浮點型輸出,日期輸出成一串小數,布爾型輸出0或1,所以我們必須在程序中做判斷處理轉換

成我們想要的數據類型

0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error

'''

class ExcelData():

# 初始化方法

? ? def __init__(self, data_path, sheetname):

#定義一個屬性接收文件路徑

? ? ? ? self.data_path = data_path

# 定義一個屬性接收工作表名稱

? ? ? ? self.sheetname = sheetname

# 使用xlrd模塊打開excel表讀取數據

? ? ? ? self.data = xlrd.open_workbook(self.data_path)

# 根據工作表的名稱獲取工作表中的內容(方式①)

? ? ? ? self.table =self.data.sheet_by_name(self.sheetname)

# 根據工作表的索引獲取工作表的內容(方式②)

# self.table = self.data.sheet_by_name(0)

# 獲取第一行所有內容,如果括號中1就是第二行,這點跟列表索引類似

? ? ? ? self.keys =self.table.row_values(0)

# 獲取工作表的有效行數

? ? ? ? self.rowNum =self.table.nrows

# 獲取工作表的有效列數

? ? ? ? self.colNum =self.table.ncols

# 定義一個讀取excel表的方法

? ? def readExcel(self):

# 定義一個空列表

? ? ? ? datas = []

for iin range(1,self.rowNum):

# 定義一個空字典

? ? ? ? ? ? sheet_data = collections.OrderedDict()

for jin range(self.colNum):

# 獲取單元格數據類型

? ? ? ? ? ? ? ? c_type =self.table.cell(i,j).ctype

# 獲取單元格數據

? ? ? ? ? ? ? ? c_cell =self.table.cell_value(i, j)

if c_type ==2 and c_cell %1 ==0:# 如果是整形

? ? ? ? ? ? ? ? ? ? c_cell =int(c_cell)

elif c_type ==3:

# 轉成datetime對象

? ? ? ? ? ? ? ? ? ? date = datetime.datetime(*xldate_as_tuple(c_cell,0))

c_cell = date.strftime('%Y/%d/%m %H:%M:%S')

elif c_type ==4:

c_cell =True if c_cell ==1 else False

? ? ? ? ? ? ? ? sheet_data[self.keys[j]] = c_cell

# 循環每一個有效的單元格,將字段與值對應存儲到字典中

# 字典的key就是excel表中每列第一行的字段

# sheet_data[self.keys[j]] = self.table.row_values(i)[j]

# 再將字典追加到列表中

? ? ? ? ? ? datas.append(sheet_data)

# 返回從excel中獲取到的數據:以列表存字典的形式返回

? ? ? ? return datas

if __name__ =="__main__":

data_path ="E:/api-test/data/token.xlsx"

? ? sheetname ="token"

? ? get_data = ExcelData(data_path, sheetname)

datas = get_data.readExcel()

import json

print(json.dumps(datas))

+++++++++++++++++++

有序打印

#!/usr/bin/env python

# -*- coding: utf-8 -*-

#coding=utf-8

import xlrd

from xlrdimport xldate_as_tuple

import datetime

import collections

'''

xlrd中單元格的數據類型

數字一律按浮點型輸出,日期輸出成一串小數,布爾型輸出0或1,所以我們必須在程序中做判斷處理轉換

成我們想要的數據類型

0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error

'''

class ExcelData():

# 初始化方法

? ? def __init__(self, data_path, sheetname):

#定義一個屬性接收文件路徑

? ? ? ? self.data_path = data_path

# 定義一個屬性接收工作表名稱

? ? ? ? self.sheetname = sheetname

# 使用xlrd模塊打開excel表讀取數據

? ? ? ? self.data = xlrd.open_workbook(self.data_path)

# 根據工作表的名稱獲取工作表中的內容(方式①)

? ? ? ? self.table =self.data.sheet_by_name(self.sheetname)

# 根據工作表的索引獲取工作表的內容(方式②)

# self.table = self.data.sheet_by_name(0)

# 獲取第一行所有內容,如果括號中1就是第二行,這點跟列表索引類似

? ? ? ? self.keys =self.table.row_values(0)

# 獲取工作表的有效行數

? ? ? ? self.rowNum =self.table.nrows

# 獲取工作表的有效列數

? ? ? ? self.colNum =self.table.ncols

# 定義一個讀取excel表的方法

? ? def readExcel(self):

# 定義一個空列表

? ? ? ? datas = []

for iin range(1,self.rowNum):

# 定義一個空字典

? ? ? ? ? ? sheet_data = collections.OrderedDict()

for jin range(self.colNum):

# 獲取單元格數據類型

? ? ? ? ? ? ? ? c_type =self.table.cell(i,j).ctype

# 獲取單元格數據

? ? ? ? ? ? ? ? c_cell =self.table.cell_value(i, j)

if c_type ==2 and c_cell %1 ==0:# 如果是整形

? ? ? ? ? ? ? ? ? ? c_cell =int(c_cell)

elif c_type ==3:

# 轉成datetime對象

? ? ? ? ? ? ? ? ? ? date = datetime.datetime(*xldate_as_tuple(c_cell,0))

c_cell = date.strftime('%Y/%d/%m %H:%M:%S')

elif c_type ==4:

c_cell =True if c_cell ==1 else False

? ? ? ? ? ? ? ? sheet_data[self.keys[j]] = c_cell

# 循環每一個有效的單元格,將字段與值對應存儲到字典中

# 字典的key就是excel表中每列第一行的字段

# sheet_data[self.keys[j]] = self.table.row_values(i)[j]

# 再將字典追加到列表中

? ? ? ? ? ? datas.append(sheet_data)

# 返回從excel中獲取到的數據:以列表存字典的形式返回

? ? ? ? return datas

if __name__ =="__main__":

data_path ="E:/api-test/data/token.xlsx"

? ? sheetname ="token"

? ? get_data = ExcelData(data_path, sheetname)

datas = get_data.readExcel()

import json

print(json.dumps(datas))

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一、讓一個元素水平垂直居中,到底有多少種方案? 水平居中 對于行內元素: text-align: center; ...
    學廢了閱讀 108評論 0 0
  • 涉及:postman使用、mybatis-plus的insert方法id生成、斷點調試 這是第一次寫博客,目的是記...
    smile_at_life閱讀 389評論 0 1
  • 《經濟法基礎》高頻考點解讀-考前沖刺題 單選題 [if !supportLists]1.[endif]下列說法不正...
    會計學習分享閱讀 348評論 0 1
  • 作者|鄭恩典 客人走光了,老張站在吧臺前洗著酒杯。 只聽這時候店門口的鈴叮當得響了,老張沒抬頭,擦著杯子。對門口的...
    靠譜人典典閱讀 1,134評論 27 18
  • 共修功課第十六天:覺察自己內在的問題,看到自己對什么東西這么著迷(執著),你想透過這些東西尋求到什么。而當你尋求到...
    wangjb_a9e9閱讀 255評論 0 0