目前還沒有更好的方法來追寫Excel,lorinnn在網上搜尋到以及之後用到的方法就是使用第三方庫xlutils來實現了這個功能,主體思想就是先複製一份Sheet然後再次基礎上追加並儲存到一份新的Excel文檔中去。
使用xlutils
代碼實現如下:
# -*- coding: utf-8 -*- ''' Created on 2012-12-17 @author: walfred @module: XLRDPkg.write_append @description: ''' import os from xlutils.copy import copy import xlrd as ExcelRead def write_append(file_name): values = ["Ann", "woman", 22, "UK"] r_xls = ExcelRead.open_workbook(file_name) r_sheet = r_xls.sheet_by_index(0) rows = r_sheet.nrows w_xls = copy(r_xls) sheet_write = w_xls.get_sheet(0) for i in range(0, len(values)): sheet_write.write(rows, i, values[i]) w_xls.save(file_name + '.out' + os.path.splitext(file_name)[-1]); if __name__ == "__main__": write_append("./test_append.xls")
追寫前
name sex age countryjim man 19 USAhmm woman 24 CHNlilei man 24 CHN
追寫後
name sex age countryjim man 19 USAhmm woman 24 CHNlilei man 24 CHNAnn woman 22 UK