目前还没有更好的方法来追写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
|