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 相关文章推荐
pymssql ntext字段调用问题解决方法
Dec 17 Python
Python实现获取网站PR及百度权重
Jan 21 Python
Python网站验证码识别
Jan 25 Python
Python判断文本中消息重复次数的方法
Apr 27 Python
Python实现加载及解析properties配置文件的方法
Mar 29 Python
python修改list中所有元素类型的三种方法
Apr 09 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
May 18 Python
PyTorch中常用的激活函数的方法示例
Aug 20 Python
django写用户登录判定并跳转制定页面的实例
Aug 21 Python
Python Django框架模板渲染功能示例
Nov 08 Python
Jupyter加载文件的实现方法
Apr 14 Python
Pytorch中Softmax与LogSigmoid的对比分析
Jun 05 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 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
2006/10/09 PHP
一家之言的经验之谈php+mysql扎实个人基本功
2008/03/27 PHP
php 用checkbox一次性删除多条记录的方法
2010/02/23 PHP
浅析PHP 按位与或 (^ 、&)
2013/06/21 PHP
php中time()和mktime()方法的区别
2013/09/28 PHP
php微信公众号开发之欢迎老朋友
2018/10/20 PHP
javascript GUID生成器实现代码
2009/10/31 Javascript
分享几个超级震憾的图片特效
2012/01/08 Javascript
JS操作数据库的实例代码
2013/10/17 Javascript
通过复制Table生成word和excel的javascript代码
2014/01/20 Javascript
Firefox下无法正常显示年份的解决方法
2014/09/04 Javascript
jQuery子窗体取得父窗体元素的方法
2015/05/11 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
2016/08/05 Javascript
Json按某个键的值进行排序
2016/12/22 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
2017/06/17 Javascript
Webpack框架核心概念(知识点整理)
2017/12/22 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
2018/11/14 jQuery
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
Vue 组件注册全解析
2020/12/17 Vue.js
python实现在windows服务中新建进程的方法
2015/06/30 Python
如何解决tensorflow恢复模型的特定值时出错
2020/02/06 Python
python通过对字典的排序,对json字段进行排序的实例
2020/02/27 Python
在python3中使用shuffle函数要注意的地方
2020/02/28 Python
python try...finally...的实现方法
2020/11/25 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
2021/02/27 Python
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
越南母婴用品购物网站:Kids Plaza
2020/04/09 全球购物
销售高级职员求职信
2013/10/29 职场文书
两则小学生的自我评价分享
2013/11/14 职场文书
高中的职业生涯规划书
2013/12/28 职场文书
电子邮箱格式怎么写
2014/01/12 职场文书
入党综合考察材料
2014/06/02 职场文书
批评与自我批评范文
2014/10/15 职场文书
辞职信模板(中英文版)
2015/02/27 职场文书
慰问信格式规范
2015/03/23 职场文书