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代码的打包与发布详解
Jul 30 Python
python 输出上个月的月末日期实例
Apr 11 Python
Python读取csv文件分隔符设置方法
Jan 14 Python
从0开始的Python学习016异常
Apr 08 Python
用python拟合等角螺线的实现示例
Dec 27 Python
python 中的[:-1]和[::-1]的具体使用
Feb 13 Python
python 实现多维数组(array)排序
Feb 28 Python
python中安装django模块的方法
Mar 12 Python
Python抓包并解析json爬虫的完整实例代码
Nov 03 Python
python 对象真假值的实例(哪些视为False)
Dec 11 Python
python用tkinter开发的扫雷游戏
Jun 01 Python
总结几个非常实用的Python库
Jun 26 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.ini不生效问题解决方法(上传大于8M的文件)
2013/06/14 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
浅谈PHP的反射API
2017/02/26 PHP
php测试kafka项目示例
2020/02/06 PHP
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
JS 页面计时器示例代码
2013/10/28 Javascript
js图片闪动特效可以控制间隔时间如几分钟闪动一下
2014/08/12 Javascript
js实现拖拽效果(构造函数)
2015/12/14 Javascript
Jquery获取第一个子元素简单实例
2016/06/02 Javascript
深入解析JavaScript中的arguments对象
2016/06/12 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
JavaScript中Math对象的方法介绍
2017/01/05 Javascript
react.js CMS 删除功能的实现方法
2017/04/17 Javascript
详解vue前后台数据交互vue-resource文档
2017/07/19 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
微信小程序使用progress组件实现显示进度功能【附源码下载】
2017/12/12 Javascript
详解javascript中的Error对象
2019/04/25 Javascript
react PropTypes校验传递的值操作示例
2020/04/28 Javascript
vue编写简单的购物车功能
2021/01/08 Vue.js
[05:01]3.19DOTA2发布会 我们都是刀塔人
2014/03/25 DOTA
Python中的元类编程入门指引
2015/04/15 Python
pandas 将list切分后存入DataFrame中的实例
2018/07/03 Python
mac PyCharm添加Python解释器及添加package路径的方法
2018/10/29 Python
python实现求特征选择的信息增益
2018/12/18 Python
django-初始配置(纯手写)详解
2019/07/30 Python
wxPython实现绘图小例子
2019/11/19 Python
pytorch 修改预训练model实例
2020/01/18 Python
python 常见的排序算法实现汇总
2020/08/21 Python
BeautifulSoup中find和find_all的使用详解
2020/12/07 Python
canvas 基础之图像处理的使用
2020/04/10 HTML / CSS
中国排名第一的外贸销售网站:LightInTheBox.com(兰亭集势)
2016/10/28 全球购物
COACH德国官方网站:纽约现代奢侈品牌,1941年
2018/06/09 全球购物
size?丹麦官网:英国伦敦的球鞋精品店
2019/04/15 全球购物
法定代表人证明书
2014/11/28 职场文书
党员理论学习心得体会
2016/01/21 职场文书
Python使用BeautifulSoup4修改网页内容
2022/05/20 Python