Python Excel技術(shù)對比
-
XlsxWriter漱竖,xlrd&xlwt,OpenPyXL,Microsoft Excel API對比
- XlsxWriter
這是除Excel自身之外功能最強的工具了养铸。比如有功能:字體設(shè)置雁芙、前景色背景色、border設(shè)置钞螟、視圖縮放(zoom)兔甘、單元格合并、autofilter鳞滨、freeze panes洞焙、公式、data validation拯啦、單元格注釋澡匪、行高和列寬設(shè)置等等。 - xlrd&xlwt
這個工具雖然易用褒链,但功能相對較弱唁情。其中的xlrd能夠讀取xlrd和xlsx,功能勉強可以接受甫匹。但xlwt只能進行最基本的寫入數(shù)據(jù)和公式甸鸟,故我一般替代使用XlsxWriter。
建議使用姿勢(xlrd+xlsxWriter)
鑒于xlrd的易用及xlsxWriter強大的寫數(shù)據(jù)功能兵迅,采用xlrd+xlsxWriter組合的方法更加實用抢韭。首先使用xlrd讀取xls中的數(shù)據(jù),然后新建xlsx文件恍箭,并將修改后的數(shù)據(jù)通過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"]
# 創(chuàng)建目的數(shù)據(jù)表
dst_wb = wx.Workbook('dst.xlsx')
# 打開源數(shù)據(jù)
data_src = xlrd_open_excel("src.xls")
# 第一行寫入行標(biāo)題
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])
# 讀取源數(shù)據(jù)的第一個sheet
table_src = data_src.sheets()[0]
print table_src.cell(0, 0)
更詳細(xì)的xlsxwriter和xlrd的用法請參考:
python使用xlsxwriter
python使用xlrd
python模塊:xlsxwriter和xlrd相結(jié)合讀取、寫入excel文件