正文
Python学习笔记_读Excel去重
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
读取一个Excel文件,按照某列关键字,如果有重复则去掉
这里不介绍所有的解决办法,只是列出一个办法。
软件环境:
OS:Win10 64位
Python 3.7
测试路径:D:\Work\Python
测试的Excel文件:Test1.xlsx
参考代码:
#! -*- coding utf-8 -*-
#! @Time :2019/3/03
#! Author :Frank Zhang
#! @File :ExcelProcess.py
#! Python Version 3.7import xlrd
import xlwtdef main():
workbook = xlrd.open_workbook(r'D:\work\Python\Test1.xlsx')
sheet1 = workbook.sheet_by_name('Sheet1') rows = sheet1.row_values(0) # 获取第一行内容
cols = sheet1.col_values(0) #获取第1列的内容
max_row=len(cols)
max_column=len(rows) #第一列关键字,如果重复则去掉
old_List=sheet1.col_values(0)
last_List=[] wb = xlwt.Workbook()
sheet2 = wb.add_sheet(u'Sheet1') iRow=-1
for i in range(max_row):
for j in range(max_column):
if j==0:
if old_List[i] in last_List: #如果已有,则退出for循环,不增加重复数据
break
else:
iRow=iRow+1
last_List.append(old_List[i]) #没有,则把关键字添加到列表中
sheet2.write(iRow,j,sheet1.cell(i,j).value)
else:
sheet2.write(iRow,j,sheet1.cell(i,j).value) wb.save("Test2.xls")
print("Process is over.")if __name__=="__main__":
main()