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文本操作相关模块
Jun 22 Python
python列表list保留顺序去重的实例
Dec 14 Python
对Python多线程读写文件加锁的实例详解
Jan 14 Python
Python计算一个点到所有点的欧式距离实现方法
Jul 04 Python
Django中自定义查询对象的具体使用
Oct 13 Python
详解Django admin高级用法
Nov 06 Python
python实现高斯判别分析算法的例子
Dec 09 Python
python with (as)语句实例详解
Feb 04 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
Mar 23 Python
基于python实现matlab filter函数过程详解
Jun 08 Python
写一个Python脚本自动爬取Bilibili小视频
Apr 24 Python
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
May 28 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
单位速度在实战中的运用
2020/03/04 星际争霸
粗略计算在线时间,bug:ip相同
2006/12/09 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
基于jquery的Repeater实现代码
2010/07/17 Javascript
jquery json 实例代码
2010/12/02 Javascript
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
2012/05/23 Javascript
ajax的hide隐藏问题解决方法
2012/12/11 Javascript
为jquery的ajaxfileupload增加附加参数的方法
2014/03/04 Javascript
js判断浏览器类型为ie6时不执行
2014/06/15 Javascript
jQuery无刷新上传之uploadify3.1简单使用
2016/06/18 Javascript
JavaScript 数组- Array的方法总结(推荐)
2016/07/21 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
2016/08/13 Javascript
JavaScript正则替换HTML标签功能示例
2017/03/02 Javascript
Vue.js 60分钟快速入门教程
2017/03/28 Javascript
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
layer实现关闭弹出层刷新父界面功能详解
2017/11/15 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
Python中的类学习笔记
2014/09/23 Python
python实现12306火车票查询器
2017/04/20 Python
Python实现自定义顺序、排列写入数据到Excel的方法
2018/04/23 Python
Python 在字符串中加入变量的实例讲解
2018/05/02 Python
pandas实现将日期转换成timestamp
2019/12/07 Python
简单介绍HTML5中的文件导入
2015/05/08 HTML / CSS
AmazeUI折叠式卡片布局,整合内容列表、表格组件实现
2020/08/20 HTML / CSS
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
为什么如下的代码int a=100,b=100;long int c=a * b;不能工作
2013/11/29 面试题
实习生单位鉴定意见
2013/12/04 职场文书
运动会广播稿60字
2014/01/15 职场文书
家长写给孩子的评语
2014/04/18 职场文书
和睦家庭事迹
2014/05/14 职场文书
2014幼儿园家长工作总结
2014/11/10 职场文书
六五普法先进个人主要事迹材料
2015/11/03 职场文书
导游词之淮安明祖陵
2019/11/25 职场文书
Python中快速掌握Data Frame的常用操作
2021/03/31 Python
Python可视化学习之seaborn绘制矩阵图详解
2022/02/24 Python