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 相关文章推荐
通过C++学习Python
Jan 20 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
Apr 13 Python
Windows上使用virtualenv搭建Python+Flask开发环境
Jun 07 Python
python numpy 显示图像阵列的实例
Jul 02 Python
python实现指定文件夹下的指定文件移动到指定位置
Sep 17 Python
Face++ API实现手势识别系统设计
Nov 21 Python
python+selenium 鼠标事件操作方法
Aug 24 Python
基于Python检测动态物体颜色过程解析
Dec 04 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
Apr 10 Python
Python网络爬虫四大选择器用法原理总结
Jun 01 Python
Python numpy矩阵处理运算工具用法汇总
Jul 13 Python
python如何为list实现find方法
May 30 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 set_time_limit(0) 设置程序执行时间的函数
2010/05/26 PHP
PHP rawurlencode与urlencode函数的深入分析
2013/06/08 PHP
PHP防盗链代码实例
2014/08/27 PHP
Thinkphp5.0 框架Model模型简单用法分析
2019/10/11 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
jquery select操作的日期联动实现代码
2009/12/06 Javascript
用Javascript同时提交多个Web表单的方法
2009/12/26 Javascript
javascript闭包的理解和实例
2010/08/12 Javascript
js截取固定长度的中英文字符的简单实例
2013/11/22 Javascript
用jquery仿做发微博功能示例
2014/04/18 Javascript
javascript实现超炫的向上滑行菜单实例
2015/08/03 Javascript
JavaScript中Boolean对象的属性解析
2015/10/21 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
深入理解jQuery 事件处理
2016/06/14 Javascript
jQuery.uploadify文件上传组件实例讲解
2016/09/23 Javascript
js阻止移动端页面滚动的两种方法
2017/01/25 Javascript
Bootstrap table右键功能实现方法
2017/02/20 Javascript
bootstrap multiselect 多选功能实现方法
2017/06/05 Javascript
收集前端面试题之url、href、src
2018/03/22 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
2018/06/22 Javascript
Vue cli3 库模式搭建组件库并发布到 npm的流程
2018/10/12 Javascript
Javascript ParentNode和ChildNode接口原理解析
2020/03/16 Javascript
node.js +mongdb实现登录功能
2020/06/18 Javascript
[02:03]风行者至宝清风环佩外观展示
2020/09/05 DOTA
Python和JavaScript间代码转换的4个工具
2016/02/22 Python
python 匹配url中是否存在IP地址的方法
2018/06/04 Python
浅谈Python访问MySQL的正确姿势
2020/01/07 Python
tensorflow模型转ncnn的操作方式
2020/05/25 Python
Python如何实现机器人聊天
2020/09/10 Python
中国制造网:Made-in-China.com
2019/10/25 全球购物
村庄环境整治方案
2014/05/15 职场文书
教务处干事工作总结
2015/08/14 职场文书
礼貌问候语大全
2015/11/10 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书