我有一个具有单列和多行的Excel工作表。我想删除一定范围的重复行(而不仅仅是一行)。数据如下所示:
100011
1.24
1.35
2.45
1.26
100012
3.4
3.6
1.26
4.25
100011
1.24
1.35
2.45
1.26
这只是很大文件的一小部分,手动删除将花费很长时间。我正在尝试编写一个程序来删除10011及其下面的四行(1.24、1.35、2.45、1.26),这些行在底部重复。 单独删除行也会导致10012中的1.26删除,我想保留此行。以下是我用来删除单个重复行并创建新工作表的内容。如何扩展它以删除重复的范围而不是单个行?
read_file = xlrd.open_workbook('Original1.xlsx')
write_file = xlsxwriter.Workbook ('Copy_Original.xlsx')
for sheet in read_file.sheets():
no_rows = sheet.nrows
no_cols = sheet.ncols
name = sheet.name
gen_sheets = write_file.add_worksheet(name)
line_list = []
r = 0
for row in range(0, no_rows):
line_sublist = [sheet.cell(row,col).value for col in range(0,no_cols)]
if line_sublist not in line_list:
line_list.append(line_sublist)
for col in range(0, no_cols):
gen_sheets.write(r,col,line_sublist[col])
r = r + 1
write_file.close()