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 相关文章推荐
wxpython 学习笔记 第一天
Feb 09 Python
python翻译软件实现代码(使用google api完成)
Nov 26 Python
分享15个最受欢迎的Python开源框架
Jul 13 Python
Python 字典dict使用介绍
Nov 30 Python
编写Python脚本来获取mp3文件tag信息的教程
May 04 Python
pandas使用get_dummies进行one-hot编码的方法
Jul 10 Python
python  Django中的apps.py的目的是什么
Oct 15 Python
python射线法判断检测点是否位于区域外接矩形内
Jun 28 Python
python面试题之列表声明实例分析
Jul 08 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
Aug 05 Python
Window系统下Python如何安装OpenCV库
Mar 05 Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
Feb 06 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
一个PHP操作Access类(PHP+ODBC+Access)
2007/01/02 PHP
10个可以简化php开发过程的MySQL工具
2010/04/11 PHP
php正则表达式使用的详细介绍
2013/04/27 PHP
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
Yii2针对指定url的生成及图片等的引入方法小结
2016/07/18 PHP
IOS 开发之NSDictionary转换成JSON字符串
2017/08/14 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
php 调用百度sms来发送短信的实现示例
2018/11/02 PHP
Firefox window.close()的使用注意事项
2009/04/11 Javascript
浅谈Javascript 执行顺序
2013/12/18 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
JavaScript中的类数组对象介绍
2014/12/30 Javascript
angularJS 中input示例分享
2015/02/09 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
jQuery实现延迟跳转的方法
2015/06/05 Javascript
学习javascript文件加载优化
2016/02/19 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
2016/06/13 Javascript
浅析ES6的八进制与二进制整数字面量
2016/08/30 Javascript
js中数组插入、删除元素操作的方法
2017/02/15 Javascript
js实现无缝滚动图(可控制当前滚动的方向)
2017/02/22 Javascript
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
Node.js五大应用性能技巧小结(必须收藏)
2017/08/09 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
2018/02/10 Javascript
原生js实现省市区三级联动代码分享
2018/02/12 Javascript
使用vue.js在页面内组件监听scroll事件的方法
2018/09/11 Javascript
Vuex 快速入门(简单易懂)
2018/09/20 Javascript
javascript设计模式 ? 抽象工厂模式原理与应用实例分析
2020/04/09 Javascript
Python的socket模块源码中的一些实现要点分析
2016/06/06 Python
Python学习小技巧之利用字典的默认行为
2017/05/20 Python
Python语言描述KNN算法与Kd树
2017/12/13 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
企业为何需要商业计划书
2013/12/26 职场文书
GMP办公室主任岗位职责
2014/03/14 职场文书
终止劳动合同协议书
2014/04/14 职场文书
2014年档案室工作总结
2014/12/01 职场文书