目前还没有更好的方法来追写Excel,lorinnn在网上搜索到以及之后用到的方法就是使用第三方库xlutils来实现了这个功能,主体思想就是先复制一份Sheet然后再次基础上追加并保存到一份新的Excel文档中去。
使用xlutils
代码实现如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# -*- 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" ) |
追写前
1
2
3
4
|
name sex age country jim man 19 USA hmm woman 24 CHN lilei man 24 CHN |
追写后
1
2
3
4
5
|
name sex age country jim man 19 USA hmm woman 24 CHN lilei man 24 CHN Ann woman 22 UK |