Python从另一个工作簿xlwt附加excel表

时间:2016-05-03 00:03:35

标签: python xlrd xlwt

我已经阅读了几乎所有发布的问题,但仍无法找到解决方法。

我有wb1.xls和wb2.xls。

我想要的只是在表1中使用wb1.xls创建wb3,在表2中创建wb2但是我似乎无法弄清楚..有什么帮助吗?

import xlwt
import xlrd
import glob, os
import numpy as np
from xlutils.copy import copy

os.chdir("E:/docs/")

wb1=[file for file in glob.glob("wb1*")]
wb2=[file for file in glob.glob("wb2*")]

s1 = xlrd.open_workbook(filename = wb1[0])
s2 = xlrd.open_workbook(filename = wb2[0])

...

我被困在这里......任何想法?注意我使用的是xls而不是xlsx。

1 个答案:

答案 0 :(得分:1)

这取决于原始工作簿。有没有需要转移的公式?每格格式,字体,样式,高亮等?如果只是原始数据,那就足够了。

import xlrd
import xlwt

# open first excel file, store number of rows,cols and sheet name
wb_1 = open_workbook("file1.xls")
sheet_1 = wb.sheet_by_index(0)
maxRows_1 = sheet_1.nrows
maxCols_1 = sheet_1.ncols
sName_1 = sheet_1.name

i = 0
j = 0

# create output excel file
wb_out = xlwt.Workbook()
sheet_out_1 = wb_out.add_sheet(sName_1)

# Loop through writing each cell value
while i<maxRows_1:
    while j<maxCols_1:
        sheet_out_1.write(i,j, sheet_1.cell(i,j).value)
        j += 1
    j = 0
    i += 1

# repeat for second excel file
# then save your new excel 

wb_out.save("newFile.xls")

只要您不关心样式和亮点等,这将有效。

这不处理日期,因为excel将它们存储为浮点数。如果您需要处理日期,则需要解析它们。考虑this来帮助他们。