目前还没有更好的方法来追写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 country jim man 19 USA hmm woman 24 CHN lilei man 24 CHN
追写后
name sex age country jim man 19 USA hmm woman 24 CHN lilei man 24 CHN Ann woman 22 UK