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解析xml中dom元素的方法
Mar 12 Python
Python中分数的相关使用教程
Mar 30 Python
Python 遍历子文件和所有子文件夹的代码实例
Dec 21 Python
Python只用40行代码编写的计算器实例
May 10 Python
Python利用flask sqlalchemy实现分页效果
Aug 02 Python
python 中字典嵌套列表的方法
Jul 03 Python
Python模块、包(Package)概念与用法分析
May 31 Python
python 函数的缺省参数使用注意事项分析
Sep 17 Python
opencv3/C++ 平面对象识别&amp;透视变换方式
Dec 11 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
Mar 14 Python
Python3自定义json逐层解析器代码
May 11 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
Aug 07 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
php中使用__autoload()自动加载未定义类的实现代码
2013/02/06 PHP
php集成环境xampp中apache无法启动问题解决方案
2014/11/18 PHP
php模板引擎技术简单实现
2016/03/15 PHP
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
简单实现php上传文件功能
2017/09/21 PHP
extjs fckeditor集成代码
2009/05/10 Javascript
textarea中的手动换行处理的jquery代码
2011/02/26 Javascript
关于js类的定义
2011/06/28 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
2015/12/01 Javascript
javascript动画之模拟拖拽效果篇
2016/09/26 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
JS新包管理工具yarn和npm的对比与使用入门
2016/12/09 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
2018/11/08 Javascript
基于jQuery实现可编辑的表格
2019/12/11 jQuery
vue el-tree 默认展开第一个节点的实现代码
2020/05/15 Javascript
JS实现鼠标移动拖尾
2020/12/27 Javascript
Windows下用py2exe将Python程序打包成exe程序的教程
2015/04/08 Python
在Django的form中使用CSS进行设计的方法
2015/07/18 Python
python中numpy.zeros(np.zeros)的使用方法
2017/11/07 Python
Sofmap官网:日本著名的数码电器专卖店
2017/05/19 全球购物
英国领先的票务代理商之一:The Ticket Factory
2019/02/09 全球购物
亚马逊意大利站点:Amazon.it
2020/12/31 全球购物
Solaris操作系统的线程机制
2012/12/23 面试题
农药学硕士毕业生自荐信
2013/09/25 职场文书
师范生自我鉴定范文
2013/10/05 职场文书
总裁助理岗位职责
2014/02/17 职场文书
高中生学期学习自我评价
2014/02/24 职场文书
献爱心倡议书
2014/04/14 职场文书
责任书范本
2014/08/25 职场文书
先进个人推荐材料
2014/12/29 职场文书
围城读书笔记
2015/06/26 职场文书
养成教育主题班会
2015/08/13 职场文书
某某幼儿园的教育教学管理调研分析报告
2019/11/29 职场文书
JavaScript 防篡改对象的用法示例
2021/04/24 Javascript
python字典的元素访问实例详解
2021/07/21 Python
Apache Hudi的多版本清理服务彻底讲解
2022/03/31 Servers