如何使用Python将一行Excel工作表复制到另一个工作表

时间:2013-01-07 02:04:25

标签: python excel xlrd xlwt openpyxl

我想将每行的给定列的值与另一个值进行比较,如果值相等,我想将整行复制到另一个电子表格。

如何使用Python执行此操作?

谢谢!

2 个答案:

答案 0 :(得分:3)

请参阅python excel库xlrd(用于excel阅读)/ xlwt(用于excel写作)   http://www.python-excel.org/

例如(阅读)(from this):

import xlrd

fname = "sample.xls"
bk = xlrd.open_workbook(fname)
shxrange = range(bk.nsheets)
try:
    sh = bk.sheet_by_name("Sheet1")
except:
    print "no sheet in %s named Sheet1" % fname
    return None
nrows = sh.nrows
ncols = sh.ncols
print "nrows %d, ncols %d" % (nrows,ncols)

cell_value = sh.cell_value(1,1)
print cell_value

row_list = []
for i in range(1,nrows):
    row_data = sh.row_values(i)
    row_list.append(row_data)

如果您使用Excel 2007处理,请使用openpyxlhttp://packages.python.org/openpyxl/

答案 1 :(得分:0)

对于“xls”文件,可以使用xlutils包。由于Excel格式的结构,目前无法在openpyxl中的工作簿之间复制对象:需要管理的地方有很多依赖项。因此,客户端代码有责任手动复制所需的所有内容。如果时间允许,我们可能会尝试将一些xlutils功能移植到openpyxl。