閱讀491 返回首頁    go Python


python xlrd xlwt操作excel

小強python全棧自動化測試培訓班招生中,預計開課時間為18年3月份

在2017年10月之前報名並繳納全部費用的童鞋優惠500元;

所有報名的同學均贈送《小強軟件測試瘋狂講義》書一本。

報名微信長按下方二維碼

課程介紹長按下方二維碼

介紹xlrd(讀操作),xlwt(寫操作)

上述軟件下載後,分別解壓,之後在cmd命令下分別進入對應的目錄中運行

python setup.py install

如果運行過程中提示缺少setuptools,則先運行python ez_setup.py之後在重複上麵的步驟

PS:office的版本不要用太高的,建議最好用03版本的,且後綴為xls的

源碼bug修複

安裝好xlwt3後,找到formula.py文件,將其中的

__slots__ = ["__init__", "__s", "__parser", "__sheet_refs", "__xcall_refs"]

修改為

__slots__ = [ "__s", "__parser", "__sheet_refs", "__xcall_refs"]

實戰不廢話,碼起來~下麵的代碼格式沒有調,需要自己弄下縮進即可

import xlrd

import xlwt3

path = excel所在的路徑-小強測試品牌

#打開excel

def open_excel(path):

try:

workbook = xlrd.open_workbook(path)

print("excel打開成功")

return workbook

except Exception as e:

print(str(e))

open_excel(path)

#讀取excel的信息

def show_excel(path):

workbook=xlrd.open_workbook(path)

#獲取sheet

sheets = workbook.sheet_names()

print("獲取excel中存在的sheet名稱", sheets)

sheet = workbook.sheets()[0] #通過索引順序獲取一個sheet

print("通過索引順序獲取一個sheet對象", sheet)

sheet = workbook.sheet_by_index(0) #通過索引順序獲取一個sheet

print("通過索引順序獲取一個sheet對象", sheet)

#sheet = workbook.sheet_by_name( Sheet1 ) #通過名稱獲取

#獲取行數、列數、單元格

print("獲取總行數", sheet.nrows) #總行數

print("獲取總列數", sheet.ncols) #總列數

print("第1行的值", sheet.row_values(0)) #獲取整行的內容

print("第2列的值", sheet.col_values(1)) #獲取整列的內容

print("第2行2列的值", sheet.cell_value(1,1)) #獲取單元格的值

show_excel(path)

#寫入數據

def write_excel(path):

wb=xlwt3.Workbook()#創建工作薄

sheet=wb.add_sheet("xlwt3數據測試表",cell_overwrite_ok=True)#創建工作表

value = [["名稱", "小強python自動化測試實戰", "小強性能測試實戰"], ["價格", "52.3", "45"]]

for i in range(0,2):

for j in range(0,len(value[i])):

sheet.write(i,j,value[i][j])#三個參數分表代表行、列、值

wb.save(path)

print("寫入數據成功")

write_excel(path)

#讀取數據

def read_excel(path,by_index=0):

workbook = open_excel(path)

table = workbook.sheets()[by_index]

nrows = table.nrows #行數

ncols = table.ncols #列數

print("第一種輸出形式")

for i in range(0,nrows):

row=table.row(i)

for j in range(0,ncols):

print(table.cell_value(i,j)," ",end="")#加上最後的參數end可以不換行

print()

print(" 第二種輸出形式")

for i in range(0,nrows):

ss = table.row_values(i)#獲取第i行的數據列表(整行)

print( ss= , ss)

for i in range(0, len(ss)):

print(ss[i])

print( ------------------ )

read_excel(path)

如果對你有一丟丟幫助,轉發+點讚=支持

最後更新:2017-10-08 16:10:03

  上一篇:go 全棧數據工程師養成攻略:Python 基本語法
  下一篇:go Python 信號機製的探索和思考