【Python】xlwt和xlrd模块写入和读取.xls版本EXCEL
生活随笔
收集整理的這篇文章主要介紹了
【Python】xlwt和xlrd模块写入和读取.xls版本EXCEL
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們經常與EXCEL打交道,其實我們可以使用python的相應模塊去處理EXCEL文件。2003以前的表格以.xls后綴,用xlwt來寫表格,用xlrd來讀取表格;搭配xlutils修改表格。2007的表格以.xlsx后綴,用openpyxl來讀寫表格。
以下是具體代碼,已有相應注釋,接上篇文章“字典dict類型轉換為列表list類型”:
def dict_to_list2():class_list = [] #1.創建一個空的二維列表for item in class_dict.items(): #2.獲取字典類型數據的字典項(dict-->tuple)a = item[1] #3.獲取元組的數據集合(tuple-->str,list)print("item[1]的數據類型:", type(a), a) #4.查看元組的數據的類型for list in a: #5.分別獲取元組的數據(str-->str,list-->dict)rows=[]for info in list:if info == 'courseName'or info == 'audioname' or info == 'pdfFileId' or info == 'learnStatus':rows.append(list[info]) #6.獲取字典類型數據的value存入到一維列表(dict-->str-->list)if rows: # 如果列表不為空class_list.append(rows) # 二維列表存入數據return(class_list)def writeExcel(file_path,class_list):wb = xlwt.Workbook() # 打開一個空白excelsheet = wb.add_sheet("sample") # 新增一個sheet名叫samplefor i in range(len(class_list)):print(class_list[i][0])print(class_list[i][1])print(class_list[i][2])print(class_list[i][3])sheet.write(i,0,class_list[i][0]) # 第i行第一列sheet.write(i,1, class_list[i][1]) # 第i行第二列sheet.write(i,2, class_list[i][2]) # 第i行第二列sheet.write(i,3, class_list[i][3]) # 第i行第二列wb.save(file_path)print("寫入表格成功!!!")if __name__ == '__main__':class_list2 = dict_to_list2()writeExcel("F:\SoftwareTest\sample.xls", class_list2)以上是寫入到excel的情況,下面主要介紹一下如何讀取excel的信息。
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' #作者:cacho_37967865 #博客:https://blog.csdn.net/sinat_37967865 #文件:handelExcel.py #日期:2018-10-21 #備注:pip install xlwt, pip install xlrd, pip install xlutils,pip install openpyxl #模塊分類:2003以前的表格以.xls后綴,用xlwt來寫表格,用xlrd來讀取表格;搭配xlutils修改表格2007的表格以.xlsx后綴,用openpyxl來讀寫表格。 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''import os # 讀寫.xls結尾的03-07版本EXCEL import xlrd import xlwt from xlutils.copy import copy# 讀寫.xlsx結尾的07版本EXCEL import openpyxldef readExcel(folder):# 獲取指定目錄下面的所有文件files = os.listdir(folder)# 獲取xls類型的文件放到一個列表里面xlsFiles = [f for f in files if f.endswith(".xls")]for xlsFile in xlsFiles:print(xlsFile) # 打印目標路徑下所有文件os.chdir(folder) # 切換到操作目錄print("目錄地址為:" + os.getcwd()) # 打印當前目錄data = xlrd.open_workbook(xlsFile) # 打開excle文檔讀取數據table = data.sheets()[0] # 通過索引順序獲取table2 = data.sheet_by_index(0) # 通過索引順序獲取table3 = data.sheet_by_name('sample') # 通過名稱獲取 nrows = table.nrows # 獲取行數ncols = table.ncols # 獲取列數print(xlsFile,"文件行數:",nrows)print(xlsFile,"文件列數:",ncols)# 獲取具體單元格數據獲取cell_A1 = table.cell(0, 0).valuecell_C4 = table.cell(2, 3).value# print(cell_A1,cell_C4)# 使用行和列進行索引查找cell_A1 = table.row(0)[0].valuecell_A2 = table.col(1)[0].value# print(cell_A1, cell_A2)# 數據類型判斷ctype1 = table.cell(1, 1).ctype # 第一行第1列數據類型ctype2 = table.cell(1, 2).ctype # 第一行第2列數據類型print('數據類型:0-empty,1-string, 2-number, 3-date, 4-boolean, 5-error',ctype1,ctype2)for i in range(nrows):className = table.cell_value(i, 0)filename = table.cell_value(i, 1)print(className,filename)if __name__ == '__main__':readExcel("F:\SoftwareTest")以上是讀取到EXCEL到控制臺的截圖。
總結
以上是生活随笔為你收集整理的【Python】xlwt和xlrd模块写入和读取.xls版本EXCEL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】pyinstaller模
- 下一篇: Fiddler无所不能——之测试开发攻城