读取一个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.7 import xlrd
import xlwt def 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()

最新文章

  1. Oracle 11g r2 安装
  2. const 和 readonly 修饰符的用法
  3. 20145308刘昊阳 《Java程序设计》第1周学习总结
  4. Android-----工程文件目录介绍
  5. startssl
  6. 在同一个机器中安装LoadRunner与QTP
  7. BZOJ4134 : ljw和lzr的hack比赛
  8. 遍历寻找json中的重复数据
  9. UVALive 7297 Hounded by Indecision BFS
  10. Workflow_如何处理标准异常和自定义异常(案例)
  11. 32.DDR2仿真结果
  12. 【原】GO 语言常见错误
  13. bzoj3437
  14. python的编码问题研究------使用scrapy体验
  15. 2015第6周三ztree的使用
  16. MJExtension的使用
  17. 格子刷油漆【动态规划问题】—NYOJ 980
  18. python3-随机生成10位包含数字和字母的密码
  19. Vue-Router路由 Vue-CLI脚手架和模块化开发 之 使用路由对象获取参数
  20. [转] UniCode编码表

热门文章

  1. FOR XML PATH 灵活运用
  2. centos65安装docker遇到的问题
  3. Unit05: JavaScript对象概述 、 常用内置对象一 、 常用内置对象二 、 常用内置对象三
  4. Makefile编写 四 函数篇
  5. 基于STL优先队列和邻接表的dijkstra算法
  6. springmvc之获取参数
  7. 皆在FPGA之外
  8. spring-session之四:Spring Session下的Redis存储结构
  9. Apache common exec包的相应使用总结
  10. msyqld 的 The user specified as a definer ('root'@'%') does not exist 问题