首先,簡單介紹一下EXECL中工作簿和工作表的區別:
工作簿的英文是BOOK(WORKBOOK),工作表的英文是SHEET(WORKSHEET)。
•一個工作簿就是一個獨立的文件
•一個工作簿里面可以有1個或者多個工作表
•工作簿是工作表的集合
1:使用python實現對Excel文件的讀寫,首先需要安裝專用的模塊(可以自己編寫)xlrd,xlwt模塊
2:讀取excel數據(注意事項:sheet編號,行號,列號都是從索引0開始)
import xlrd# 設置路徑path = 'E:/input.xlsx'# 打開execlworkbook = xlrd.open_workbook(path)# 輸出Excel文件中所有sheet的名字print(workbook.sheet_names())# 根據sheet索引或者名稱獲取sheet內容Data_sheet = workbook.sheets()[0] # 通過索引獲取# Data_sheet = workbook.sheet_by_index(0) # 通過索引獲取# Data_sheet = workbook.sheet_by_name(u'名稱') # 通過名稱獲取print(Data_sheet.name) # 獲取sheet名稱rowNum = Data_sheet.nrows # sheet行數colNum = Data_sheet.ncols # sheet列數# 獲取所有單元格的內容list = []for i in range(rowNum): rowlist = [] for j in range(colNum): rowlist.append(Data_sheet.cell_value(i, j)) list.append(rowlist)# 輸出所有單元格的內容for i in range(rowNum): for j in range(colNum): print(list[i][j], '/t/t', end="") print()# 獲取整行和整列的值(列表)rows = Data_sheet.row_values(0) # 獲取第一行內容cols = Data_sheet.col_values(1) # 獲取第二列內容# print (rows)# print (cols)# 獲取單元格內容cell_A1 = Data_sheet.cell(0, 0).valuecell_B1 = Data_sheet.row(0)[1].value # 使用行索引cell_C1 = Data_sheet.cell(0, 2).valuecell_D2 = Data_sheet.col(3)[1].value # 使用列索引print(cell_A1, cell_B1, cell_C1, cell_D2)# 獲取單元格內容的數據類型# ctype:0 empty,1 string, 2 number, 3 date, 4 boolean, 5 errorprint('cell(0,0)數據類型:', Data_sheet.cell(0, 0).ctype)print('cell(1,0)數據類型:', Data_sheet.cell(1, 0).ctype)print('cell(1,1)數據類型:', Data_sheet.cell(1, 1).ctype)print('cell(1,2)數據類型:', Data_sheet.cell(1, 2).ctype)# 獲取單元格內容為日期的數據date_value = xlrd.xldate_as_tuple(Data_sheet.cell_value(1,0),workbook.datemode)print(type(date_value), date_value)print('%d:%d:%d' % (date_value[0:3]))
3:創建excel并寫入數據
新聞熱點
疑難解答