Python Excel技術對比

  • XlsxWriter,xlrd&xlwt,OpenPyXL,Microsoft Excel API對比

    XlsxWriter,xlrd&xlwt,OpenPyXL,Microsoft Excel API對比
  • XlsxWriter
    這是除Excel自身之外功能最強的工具了。比如有功能:字體設置、前景色背景色、border設置、視圖縮放(zoom)、單元格合併、autofilter、freeze panes、公式、data validation、單元格註釋、行高和列寬設置等等。
  • xlrd&xlwt
    這個工具雖然易用,但功能相對較弱。其中的xlrd能夠讀取xlrd和xlsx,功能勉強可以接受。但xlwt只能進行最基本的寫入數據和公式,故我一般替代使用XlsxWriter。

建議使用姿勢(xlrd+xlsxWriter)

鑒於xlrd的易用及xlsxWriter強大的寫數據功能,採用xlrd+xlsxWriter組合的方法更加實用。首先使用xlrd讀取xls中的數據,然後新建xlsx文件,並將修改后的數據通過XlsxWriter寫入xlsx文件中。

參考代碼

import xlsxwriter as wx
import sys
import xlrd

def xlrd_open_excel(file='file.xls'):
    try:
        data = xlrd.open_workbook(file)
        return data
    except Exception, e:
        print str(e)

row_title = ["1","2","3"]
# 創建目的數據表
dst_wb = wx.Workbook('dst.xlsx')

# 打開源數據
data_src = xlrd_open_excel("src.xls")

# 第一行寫入行標題
worksheet = dst_wb.add_worksheet()
worksheet_wang = dst_wb.add_worksheet()
for i in range(0, len(row_title)):
    worksheet.write(0, i, row_title[i])

# 讀取源數據的第一個sheet
table_src = data_src.sheets()[0]
print table_src.cell(0, 0)

更詳細的xlsxwriter和xlrd的用法請參考:
python使用xlsxwriter
python使用xlrd
python模塊:xlsxwriter和xlrd相結合讀取、寫入excel文件