程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Python >> Python操作excel(xlrd和xlwt)

Python操作excel(xlrd和xlwt)

編輯:Python
Python操作excel表格有很多支持的庫,例如:xlrd、xlwt、openpyxl、win32com,下面介紹使用xlrd、xlwt和xlutils模塊
這三個庫不需要其他的支持,在任何操作系統上都可以使用。
xlrd:可以讀取.xls、.xlsx文件,
xlwt:可以編寫Excel文檔,但不可以直接修改Excel文檔,
xlutils:可以通過復制(copy) Excel文檔後再進行修改

使用xlrd讀取Excel表方法
import xlrd
data = xlrd.open_workbook('demo.xls')  #打開excel
data.sheet_names() #查看文件中包含sheet的名稱

table = data.sheets()[0] #得到第一個工作表
table = data.sheet_by_index(0) #通過索引順序得到表
table = data.sheet_by_name(u'Sheet1') #通過工作表名稱得到表

nrows = table.nrows #獲取行數
ncols = table.ncols #獲取列數

table.row_values(i) #獲取整行(數組)
table.col_values(i) #整列的值(數組)
#循環行,得到索引的列表 for rownum in range(table.nrows): print table.row_values(rownum) #單元格 cell_A1 = table.cell(0,0).value cell_C4 = table.cell(2,3).value #分別使用行列索引 cell_A1 = table.row(0)[0].value cell_A2 = table.col(1)[0].value
使用xlutils修改Excel表方法


from xlrd import open_workbook
from xlutils.copy import copy
 
rb = open_workbook('m:\\1.xls')
 
#通過sheet_by_index()獲取的sheet沒有write()方法
rs = rb.sheet_by_index(0)
 
wb = copy(rb)
 
#通過get_sheet()獲取的sheet有write()方法
ws = wb.get_sheet(0)
ws.write(0, 0, 'changed!')
 
wb.save('m:\\1.xls')
使用xlwt編寫Excel表方法
#導入xlwt

import xlwt

#新建一個excel文件
file = xlwt.Workbook() #注意這裡的Workbook首字母是大寫,無語吧

#新建一個sheet
table = file.add_sheet('sheet name')

#寫入數據table.write(行,列,value)
table.write(0,0,'test')

#如果對一個單元格重復操作,會引發
#returns error:
# Exception: Attempt to overwrite cell:
# sheetname=u'sheet 1' rowx=0 colx=0
#所以在打開時加cell_overwrite_ok=True解決

table = file.add_sheet('sheet name',cell_overwrite_ok=True)

#保存文件
file.save('demo.xls')
#另外,使用style
style = xlwt.XFStyle() #初始化樣式

font = xlwt.Font() #為樣式創建字體
font.name = 'Times New Roman'
font.bold = True
style.font = font #為樣式設置字體
table.write(0, 0, 'some bold Times text', style) # 使用樣式

  

 
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved