pythonl删除xls重复的行

主要参考这篇文章:

https://blog.csdn.net/qq_30990097/article/details/80853008

写的非常的简洁明了,刚开始我打算直接在当前的XLS里面删除某一行,发现不是很容易,然后就换一种思路,

把合乎条件的内容copy出去,也能达到目的。

https://blog.csdn.net/qq_35328369/article/details/81588708?utm_source=blogxgwz0

这篇文章写的不错,但是我没耐心去研究,但是最后一段说的注意事项,确实我的代码里面也碰到了。


1 安装xlwt/xlrd库,安装命令:

 

  • pip install xlwt  只能写入文件用
  • pip install xlrd   只能读取文件内容用,所以得装2个。

2 然后用了排序法,把关键的条件的那列排序,可以用代码,也可以用自带金山office就有排序,再去找到不重复的行copy出来。

#挑出Excel里面 的重复的行
import xlrd
from datetime import datetime
from xlrd import xldate_as_tuple
import xlwt

def pick_same_data(src_excel):
    workbook=xlwt.Workbook(encoding='utf-8')
    sheet1=workbook.add_sheet('删除之后的表格')
    
    
    excel_file=xlrd.open_workbook(src_excel)
    sheet_name=excel_file.sheet_names()[0]
    sheet=excel_file.sheet_by_name(sheet_name)
    

    j=0
    ii=1
    for i in range(1,8515):#一定会写8515行
        
        try:
            
            dates=sheet.row_values(ii)[4]
            
            #print('write dates',)
            sheet1.write(i,0,sheet.row_values(ii)[0])
            sheet1.write(i,1,sheet.row_values(ii)[1])
            sheet1.write(i,2,sheet.row_values(ii)[2])
            sheet1.write(i,3,sheet.row_values(ii)[3])
            sheet1.write(i,4,sheet.row_values(ii)[4])
            sheet1.write(i,5,sheet.row_values(ii)[5])
            sheet1.write(i,6,sheet.row_values(ii)[6])
            sheet1.write(i,7,sheet.row_values(ii)[7])
            sheet1.write(i,8,sheet.row_values(ii)[8])
            sheet1.write(i,9,sheet.row_values(ii)[9])
            sheet1.write(i,10,sheet.row_values(ii)[10])
            
            
            
            
            j=ii+1
            date2=sheet.row_values(j)[4]
            
            
            while(dates==date2):
                print(dates,date2,'------','ii=',ii,'j=',j)
                #remove(j)
               
                j=j+1
                date2=sheet.row_values(j)[4]
                
            
            ii=j
            print('ii==',j)
            
            
        except:
            workbook.save(r'C:\Users\83815\Desktop\3-12\PICC-del.xlsx')
            print("Excel里end 啦")

出现异常了,就把写入的文件先保存起来,同时一般异常就是文件读完了,所以应该立马停了,那里可以加个sys.exit(0)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值