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基础教程之数字处理(math)模块详解
Mar 25 Python
python 爬虫 批量获取代理ip的实例代码
May 22 Python
Python 多维List创建的问题小结
Jan 18 Python
Python使用paramiko操作linux的方法讲解
Feb 25 Python
python pyinstaller 加载ui路径方法
Jun 10 Python
使用Python opencv实现视频与图片的相互转换
Jul 08 Python
python写程序统计词频的方法
Jul 29 Python
python 比较2张图片的相似度的方法示例
Dec 18 Python
如何基于Python实现自动扫雷
Jan 06 Python
Python如何向SQLServer存储二进制图片
Jun 08 Python
python 5个实用的技巧
Sep 27 Python
详解python中的异常和文件读写
Jan 03 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模板引擎SMARTY
2006/10/09 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
2016/04/26 PHP
基于jquery.Jcrop的头像编辑器
2010/03/01 Javascript
ext jquery 简单比较
2010/04/07 Javascript
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
获取下拉列表框的值是数组,split,$.inArray示例
2013/11/13 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
javascript中数组array及string的方法总结
2014/11/28 Javascript
JavaScript实现点击按钮直接打印
2016/01/06 Javascript
js实现的彩色方块飞舞奇幻效果
2016/01/27 Javascript
Bootstrap的Refresh Icon也spin起来
2016/07/13 Javascript
Angularjs的键盘事件的绑定
2017/07/27 Javascript
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
[04:09]2018年度DOTA2社区贡献奖-完美盛典
2018/12/16 DOTA
python的urllib模块显示下载进度示例
2014/01/17 Python
python获得两个数组交集、并集、差集的方法
2015/03/27 Python
使用Python中的cookielib模拟登录网站
2015/04/09 Python
详解python的webrtc库实现语音端点检测
2017/05/31 Python
pandas中Timestamp类用法详解
2017/12/11 Python
python如何统计代码运行的时长
2019/07/24 Python
python实现按首字母分类查找功能
2019/10/31 Python
python中with语句结合上下文管理器操作详解
2019/12/19 Python
canvas绘制视频封面的方法
2018/02/05 HTML / CSS
HTML5中外部浏览器唤起微信分享功能的代码
2020/09/15 HTML / CSS
LightInTheBox西班牙站点:全球商品在线采购
2016/09/22 全球购物
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
个人自我鉴定范文
2013/10/04 职场文书
《记承天寺夜游》教学反思
2014/02/16 职场文书
协议书样本
2014/04/23 职场文书
学校爱心捐款倡议书
2014/05/13 职场文书
2014幼儿教师个人工作总结
2014/12/03 职场文书
JS实现扫雷项目总结
2021/05/19 Javascript
Vue+Element UI实现概要小弹窗的全过程
2021/05/30 Vue.js
javascript拖曳互换div的位置实现示例
2021/06/28 Javascript
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技