Python实现读取并写入Excel文件过程解析


Posted in Python onMay 27, 2020

需求是有两个Excel文件:1.xlsx,2.xlsx,比较2.xlsx中的A,B列和1.xlsx中的A,B列;查找1.xlsx中存在,2.xlsx中不存在的行数据,输出到result.xlsx文件中

1.xlsx内容如下

Python实现读取并写入Excel文件过程解析

2.xlsx内容如下

Python实现读取并写入Excel文件过程解析

上代码

# coding=utf-8

import xlrd
import xlwt

# 打开文件
#data = xlrd.open_workbook('./附件7:溶洞钻孔、埋管、注浆.xlsx')

# 查看工作表
#data.sheet_names()
#print("sheets:" + str(data.sheet_names()))

# 通过文件名获得工作表,获取工作表1
#table = data.sheet_by_name('20200404')

# 打印data.sheet_names()可发现,返回的值为一个列表,通过对列表索引操作获得工作表1
# table = data.sheet_by_index(0)

# 获取行数和列数
# 行数:table.nrows
# 列数:table.ncols
#print("总行数:" + str(table.nrows))
#print("总列数:" + str(table.ncols))

# 获取整行的值 和整列的值,返回的结果为数组
# 整行值:table.row_values(start,end)
# 整列值:table.col_values(start,end)
# 参数 start 为从第几个开始打印,
# end为打印到那个位置结束,默认为none
#print("整行值:" + str(table.row_values(0)))
#print("整列值:" + str(table.col_values(1)))

# 获取某个单元格的值,例如获取B3单元格值
#cel_B3 = table.cell(3,2).value
#print("第三行第二列的值:" + cel_B3)

def read_xlrd(excelFile,tablename):
  data = xlrd.open_workbook(excelFile)
  #table = data.sheet_by_index(0)
  table = data.sheet_by_name(tablename)
  print("总行数:" + str(table.nrows))
  print("总列数:" + str(table.ncols))
  dataFile = []

  for rowNum in range(table.nrows):
    # if 去掉表头
    if rowNum > 0:
      dataFile.append(table.row_values(rowNum))

  return dataFile
  

workbook = xlwt.Workbook(encoding = 'ascii')
worksheet = workbook.add_sheet('sheet1')

def writeLine(row ,line):
  col=0
  while col <len(line):
    worksheet.write(row,col, line[col])
    col+=1

filename1='./附件7:溶洞钻孔、埋管、注浆.xlsx' 
data1=read_xlrd(filename1,'20200404')
filename2='./设计之都溶洞注浆台账.xlsx' 
data2=read_xlrd(filename2,'Sheet1')
data=[]
for row in data1[4:]:
  #print(row[0],row[1])
  data.append([row[0],row[1]])
#print(data)
result=[]
i=0
for row in data2[1:]:
  
  buf=[row[1],row[2]]
  if buf not in data:
    print(row,'不存在')
    writeLine(i, row)
    i+=1
workbook.save('result.xlsx')

之后生成结果result.xlsx文件

Python实现读取并写入Excel文件过程解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python虚拟环境Virtualenv使用教程
May 18 Python
python实现用户登陆邮件通知的方法
Jul 09 Python
Python实现字符串反转的常用方法分析【4种方法】
Sep 30 Python
Python根据文件名批量转移图片的方法
Oct 21 Python
Python基础之循环语句用法示例【for、while循环】
Mar 23 Python
Django Form 实时从数据库中获取数据的操作方法
Jul 25 Python
Python字符串大小写转换拼接删除空白
Sep 19 Python
Python基于jieba, wordcloud库生成中文词云
May 13 Python
python中reload重载实例用法
Dec 15 Python
通过python-pptx模块操作ppt文件的方法
Dec 26 Python
pycharm 实现光标快速移动到括号外或行尾的操作
Feb 05 Python
如何使用Python提取Chrome浏览器保存的密码
Jun 09 Python
Python正则表达式如何匹配中文
May 27 #Python
使用python创建Excel工作簿及工作表过程图解
May 27 #Python
Python实现疫情通定时自动填写功能(附代码)
May 27 #Python
Python unittest单元测试openpyxl实现过程解析
May 27 #Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
May 27 #Python
python如何求100以内的素数
May 27 #Python
pytorch查看通道数 维数 尺寸大小方式
May 26 #Python
You might like
分享下php5类中三种数据类型的区别
2015/01/26 PHP
xml分页+ajax请求数据源+dom取结果实例代码
2008/10/31 Javascript
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
jquery操作HTML5 的data-*的用法实例分享
2014/08/17 Javascript
JQuery实现网页右侧随动广告特效
2016/01/17 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
使用Script元素发送JSONP请求的方法
2016/06/12 Javascript
多功能jQuery树插件zTree实现权限列表简单实例
2016/07/12 Javascript
Javascript中内建函数reduce的应用详解
2016/10/20 Javascript
Vuex之理解state的用法实例
2017/04/19 Javascript
Vue实现typeahead组件功能(非常靠谱)
2017/08/26 Javascript
react-native使用react-navigation进行页面跳转导航的示例
2017/09/07 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
Vue 自定义指令功能完整实例
2019/09/17 Javascript
three.js利用射线Raycaster进行碰撞检测
2020/03/12 Javascript
vue 函数调用加括号与不加括号的区别
2020/10/29 Javascript
[03:30]完美盛典趣味短片 CSGO2019年度名场面
2019/12/07 DOTA
Python字符串处理实例详解
2017/05/18 Python
python实现机械分词之逆向最大匹配算法代码示例
2017/12/13 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
python如何将多个PDF进行合并
2019/08/13 Python
Python tkinter三种布局实例详解
2020/01/06 Python
python 如何引入协程和原理分析
2020/11/30 Python
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
CSS3制作酷炫的三维相册效果
2016/07/01 HTML / CSS
详解如何在css中引入自定义字体(font-face)
2018/05/17 HTML / CSS
网络教育自我鉴定
2013/11/01 职场文书
开业主持词
2014/03/21 职场文书
教师考核材料
2014/05/21 职场文书
省级优秀班集体申报材料
2014/05/25 职场文书
日语专业毕业生自荐书
2014/06/18 职场文书
法人授权委托书
2014/09/16 职场文书
公安机关起诉意见书
2015/05/20 职场文书
深入浅析Django MTV模式
2021/09/04 Python
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android