情景:当我们需要从excel表中筛选出符合某个条件的数据,例如我们需要从附加标签中筛选出2班的行数据

import xlrd
import xlwt

#需处理的文件名
file = '0422.xlsx'

#读取文件
data = xlrd.open_workbook(file)

#读取要处理的表名
table = data.sheet_by_name("1")

nrows = table.nrows#行数
ncols = table.ncols#列数

print(nrows-1)
#添加表头
workbook = xlwt.Workbook(encoding='utf-8')
new_sheet=workbook.add_sheet('test')



data = input('输入你想要筛选的数据,format(#2班)\n')
#data1 = input('输入第几列,format(3)\n')

rank_list = []
for i in range (1,nrows):
	if table.row_values(i)[6]==data: #筛选第几列就改 [1] 里的数字
		rank_list.append(i)
print(rank_list)

#写表头
for i in range(ncols):
	new_sheet.write(0,i,table.cell(0,i).value)

for i in range(len(rank_list)):
	for j in range(ncols):
		new_sheet.write(i+1, j, table.cell(rank_list[i],j).value)

workbook.save('shaixuanhou.xls')

 输出结果如下

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐