我想将每行的给定列的值与另一个值进行比较,如果值相等,我想将整行复制到另一个电子表格。
如何使用Python执行此操作?
谢谢!
答案 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处理,请使用openpyxl
:http://packages.python.org/openpyxl/
答案 1 :(得分:0)
对于“xls”文件,可以使用xlutils包。由于Excel格式的结构,目前无法在openpyxl中的工作簿之间复制对象:需要管理的地方有很多依赖项。因此,客户端代码有责任手动复制所需的所有内容。如果时间允许,我们可能会尝试将一些xlutils功能移植到openpyxl。