我已经阅读了几乎所有发布的问题,但仍无法找到解决方法。
我有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。
答案 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来帮助他们。