Python的使用範圍越來越廣,之前需要用Python對Excel進行操作,進行一番學習瞭解之後總結如下:Python對Excel的讀寫主要有xlrd、xlwt、xlutils、openpyxl、xlsxwriter幾種。
1、xlrd主要用來讀取Excel文件(Excel read)
import xlrd
worksheet = xlrd.open_workbook(u'Python操作Excel.xls')
sheet_names= worksheet.sheet_names()
for sheet_name in sheet_names:
sheet2 = worksheet.sheet_by_name(sheet_name)
print sheet_name rows = sheet2.row_values(3) # 獲取第四行內容
cols = sheet2.col_values(1) # 獲取第二列內容
print rows
print cols
2、xlwt主要是用來寫Excel文件(Excel write)
import xlwt
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('sheet Python')
sheet.write(0,1,'Python Excel')#第0行第一列寫入內容
wbk.save('Excel.xls')
3、xlutils結合xlrd可以達到修改excel文件目的
import xlrd
from xlutils.copy import copy
worksheet = xlrd.open_workbook(u'Python操作Excel.xls')
workbooknew = copy(worsheet)
ws = workbooknew.get_sheet(0)
ws.write(3, 0, '操作之後!')
workbooknew.save(u'Python操作Excel.xls')
4、openpyxl可以對excel文件進行讀寫操作
from openpyxl import Workbook
from openpyxl import load_workbook
from openpyxl.writer.excel import ExcelWriter
workbook_ = load_workbook(u"測試openpyxl.xlsx")
sheetnames =workbook_.get_sheet_names() #獲得表單名字
print sheetnames
sheet = workbook_.get_sheet_by_name(sheetnames[0])
print sheet.cell(row=3,column=3).value
sheet['A1'] = '66'
workbook_.save(u"測試openpyxlNew.xlsx")
wb = Workbook()
ws = wb.active
ws['A1'] = 4
wb.save("測試openpyxl.xlsx")
5、xlsxwriter可以寫excel文件並加上圖表
PS:在操作Excel時,碰到對合並單元格的內容的讀取時,只能獲取合併單元格的第一個cell的行列索引,才能讀到值,讀錯了就是空值。也就是合併行單元格讀取行的第一個索引,合併列單元格讀取列的第一個索引。
使用merged_cells讀取合併單元格的內容,其返回的這四個參數的含義是:(row,row_range,col,col_range),其中[row,row_range)前開後閉即包括row,不包括row_range,col也是一樣。
使用write_merge寫合併單元格的內容,原型為write_merge(x, x + m, y, w + n, string, sytle)具體函數為x表示行,y表示列,m表示跨行個數,n表示跨列個數,string表示要寫入的單元格內容,style表示單元格樣式。其中,x,y,w,h,都是以0開始計算的。
當需要創建多個sheet的時候,可以使用add_sheet('sheet')
以上是對Python操作Excel的常用方法的總結,各位朋友有好的方法可以共享,共同進步~~~~一起學習吧~~~