python对execl 处理操作代码


Posted in Python onJune 22, 2020

1. 读取execl

1.前提需要安装xlrd模块,这个在网上可以找安装教程,这里就不写了

2. 打开表格

3. 读取表格的sheet

4. 按行读取数据或者列读取数据或者单元格读取数据

实际操作:

import xlrd
import xlwt
from xlutils.copy import copy
 
def info_row_col_execl(file_name):
  myworkbook = xlrd.open_workbook(file_name)
  mySheetlist = myworkbook.sheets()
  mysheet = mySheetlist[0]
  nrows = mysheet.nrows
  ncols = mysheet.ncols
  return nrows,ncols
 
def read_execl(filename):
  myworkbook = xlrd.open_workbook(filename)
  mySheetlist = myworkbook.sheets()
  mysheet = mySheetlist[0]
  return mysheet
 
def com_exel(file_name_dai,file_name_all):
  dai_rows, dai_cols = info_row_col_execl(file_name_dai)
  all_rows,all_cols = info_row_col_execl(file_name_all)
  print(dai_rows, dai_cols)
  print(all_rows,all_cols)
 
def read_execl_values(file_name):
  list_execl_values = []
  mysheet = read_execl(file_name)
  execl_rows, execl_cols = info_row_col_execl(file_name)
  myRowValues_name= mysheet.row_values(0)
  for nrow in range(1,execl_rows):
    myRowValues= mysheet.row_values(nrow)
    #print(myRowValues)
    myRow_name_value=dict(zip(myRowValues_name,myRowValues))
    list_execl_values.append(myRow_name_value)
  return list_execl_values
 
def com_execl_values(file_name_dai,file_name_all,key_list):
  dai_list_execl_values = read_execl_values(file_name_dai)
  all_list_execl_values = read_execl_values(file_name_all)
  row_num = 1
  for i in dai_list_execl_values:
    dai_list_execl_value = i
    dai_len_row = len(dai_list_execl_value)
    for k in all_list_execl_values:
      all_list_execl_value = k
      result = compare_two_dict(dai_list_execl_value,all_list_execl_value,key_list)
      if result == "Pass":
        #print(dai_list_execl_value,all_list_execl_value,result)
        print(dai_list_execl_value['ID'],dai_list_execl_value['名字'],)
        print(all_list_execl_value['班级'],all_list_execl_value['教师'])
        write_execl(file_name_dai,all_list_execl_value['班级'],all_list_execl_value['教师'],row_num,dai_len_row)
        break;
    row_num = row_num + 1   
   
def write_execl(file_name_dai,all_list_execl_value_1,all_list_execl_value_2,row_num,dai_len_row):
  open_execl = xlrd.open_workbook(file_name_dai)
  open_execl_copy = copy(open_execl)
  open_execl_copy_sheet = open_execl_copy.get_sheet(0)
  open_execl_copy_sheet.write(row_num,dai_len_row-3,all_list_execl_value_1)
  open_execl_copy_sheet.write(row_num,dai_len_row-2,all_list_execl_value_2)
  open_execl_copy.save(file_name_dai)
   
 
def compare_two_dict(dai_dict,all_dict,key_list):
  flag = True
  dai_dict_key = dai_dict.keys()
  all_dict_key = all_dict.keys()
  if len(key_list) != 0:
    for key in key_list:
      if key in dai_dict_key and key in all_dict_key:
        if dai_dict[key] == all_dict[key]:
          #print(dai_dict[key],all_dict[key])
          flag = flag & True
        else:
          flag = flag & False
      else:
        raise Exception('key_list contains error key')
  else:
    raise Exception('key_list is null')
 
  if flag:
    result = "Pass"
  else:
    result = "Failed"
  #print(result)
  return result
 
if __name__ == '__main__':
  file_name_dai = 'name_1.xlsx'
  file_name_all = 'name.xlsx'
  key_list = ['ID', '名字']
  com_execl_values(file_name_dai,file_name_all,key_list)

总结

到此这篇关于python对execl 处理操作代码的文章就介绍到这了,更多相关python对execl 处理内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python的subprocess模块总结
Nov 07 Python
python抓取网页中链接的静态图片
Jan 29 Python
python 读取文本文件的行数据,文件.splitlines()的方法
Jul 12 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
Aug 01 Python
python列表使用实现名字管理系统
Jan 30 Python
Python3 log10()函数简单用法
Feb 19 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
May 13 Python
Python基础学习之类与实例基本用法与注意事项详解
Jun 17 Python
给你一面国旗 教你用python画中国国旗
Sep 24 Python
Python如何使用BeautifulSoup爬取网页信息
Nov 26 Python
Django中和时区相关的安全问题详解
Oct 12 Python
python 还原梯度下降算法实现一维线性回归
Oct 22 Python
Python select及selectors模块概念用法详解
Jun 22 #Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
Jun 22 #Python
利用Vscode进行Python开发环境配置的步骤
Jun 22 #Python
Python Excel vlookup函数实现过程解析
Jun 22 #Python
宝塔面板成功部署Django项目流程(图文)
Jun 22 #Python
python和php哪个更适合写爬虫
Jun 22 #Python
如何理解python对象
Jun 21 #Python
You might like
phpmyadmin的#1251问题
2006/11/25 PHP
Aster vs Newbee BO5 第三场2.19
2021/03/10 DOTA
jQuery怎么解析Json字符串(Json格式/Json对象)
2013/08/09 Javascript
JS判断移动端访问设备并加载对应CSS样式
2014/06/13 Javascript
如何判断微信内置浏览器(通过User Agent实现)
2014/09/01 Javascript
jQuery子属性过滤选择器用法分析
2015/02/10 Javascript
js实现遍历含有input的table实例
2015/12/07 Javascript
jQuery原理系列-常用Dom操作详解
2016/06/07 Javascript
javascript验证手机号和实现星号(*)代替实例
2016/08/16 Javascript
Vue实现PopupWindow组件详解
2018/04/28 Javascript
详解处理bootstrap4不支持远程静态框问题
2018/07/20 Javascript
node.js实现为PDF添加水印的示例代码
2018/12/05 Javascript
微信小程序Echarts覆盖正常组件问题解决
2019/07/13 Javascript
JavaScript中变量提升机制示例详解
2019/12/27 Javascript
Python实现竖排打印传单手机号码易撕条
2015/03/16 Python
Python打造出适合自己的定制化Eclipse IDE
2016/03/02 Python
Python排序搜索基本算法之冒泡排序实例分析
2017/12/09 Python
Python实现PS滤镜的旋转模糊功能示例
2018/01/20 Python
利用python实现在微信群刷屏的方法
2019/02/21 Python
详解python 3.6 安装json 模块(simplejson)
2019/04/02 Python
centos 安装Python3 及对应的pip教程详解
2019/06/28 Python
Python urllib.request对象案例解析
2020/05/11 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
2020/07/06 Python
英国在线自行车商店:Evans Cycles
2016/09/26 全球购物
阿提哈德航空官方网站:Etihad Airways
2017/01/06 全球购物
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
你所在的项目是如何确定版本号的
2015/12/28 面试题
心理学专业毕业生推荐信范文
2013/11/21 职场文书
市三好学生主要事迹
2014/01/28 职场文书
中国入世承诺
2014/04/01 职场文书
自我推荐信范文
2014/05/09 职场文书
优秀会计求职信
2014/07/04 职场文书
工作失职造成投诉的检讨书范文
2014/10/05 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
导游词之南京汤山温泉
2019/11/26 职场文书
DSP接收机前端设想
2022/04/05 无线电