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程序的执行原理
Apr 11 Python
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
Aug 18 Python
Python各类图像库的图片读写方式总结(推荐)
Feb 23 Python
基于OpenCV python3实现证件照换背景的方法
Mar 22 Python
python实现串口自动触发工作的示例
Jul 02 Python
PyCharm2018 安装及破解方法实现步骤
Sep 09 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
Nov 11 Python
基于TensorFlow常量、序列以及随机值生成实例
Jan 04 Python
浅谈keras中的目标函数和优化函数MSE用法
Jun 10 Python
python里的单引号和双引号的有什么作用
Jun 17 Python
Python如何操作docker redis过程解析
Aug 10 Python
Django Paginator分页器的使用示例
Jun 23 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
Terran魔法科技
2020/03/14 星际争霸
cakephp2.X多表联合查询join及使用分页查询的方法
2017/02/23 PHP
javascript fullscreen全屏实现代码
2009/04/09 Javascript
jQuery选择头像并实时显示的代码
2010/06/27 Javascript
DWR实现模拟Google搜索效果实现原理及代码
2013/01/30 Javascript
jquery及原生js获取select下拉框选中的值示例
2013/10/25 Javascript
jQuery简单实现点击文本框复制内容到剪贴板上的方法
2016/08/01 Javascript
jQuery实现的自适应焦点图效果完整实例
2016/08/24 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
jQuery利用sort对DOM元素进行排序操作
2016/11/07 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
详解Angular路由 ng-route和ui-router的区别
2017/05/22 Javascript
基于vue-cli创建的项目的目录结构及说明介绍
2017/11/23 Javascript
vue 路由页面之间实现用手指进行滑动的方法
2018/02/23 Javascript
JS中DOM元素的attribute与property属性示例详解
2018/09/04 Javascript
vue实现列表拖拽排序的功能
2020/11/02 Javascript
[01:55]《走出家门看比赛》——DOTA2 2015国际邀请赛同城线下观战
2015/07/18 DOTA
windows下wxPython开发环境安装与配置方法
2014/06/28 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
2018/04/05 Python
css3中新增的样式使用示例附效果图
2014/08/19 HTML / CSS
Html5 Geolocation获取地理位置信息实例
2016/12/09 HTML / CSS
银河香水:Galaxy Perfume
2019/03/25 全球购物
Douglas意大利官网:购买香水和化妆品
2020/05/27 全球购物
机械专业应届生求职信
2013/09/21 职场文书
计算机专业推荐信范文
2013/11/20 职场文书
计算机求职信
2013/12/01 职场文书
1亿有多大教学反思
2014/05/01 职场文书
提拔干部考察材料
2014/05/26 职场文书
励志演讲稿800字
2014/08/21 职场文书
幼儿园法制宣传日活动总结
2014/11/01 职场文书
2014年社区工作总结
2014/11/18 职场文书
2014年预算员工作总结
2014/12/05 职场文书
婚宴父母致辞
2015/07/27 职场文书
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏
win10识别不了U盘怎么办 win10系统读取U盘失败的解决办法
2022/08/05 数码科技
源码安装apache脚本部署过程详解
2022/09/23 Servers