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 os模块介绍
Nov 30 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
Apr 13 Python
利用 Monkey 命令操作屏幕快速滑动
Dec 07 Python
详解Python多线程Selenium跨浏览器测试
Apr 01 Python
使用Python进行AES加密和解密的示例代码
Feb 02 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
Apr 04 Python
Python中的类与类型示例详解
Jul 10 Python
python 实现方阵的对角线遍历示例
Nov 29 Python
Django中的AutoField字段使用
May 18 Python
Python基于os.environ从windows获取环境变量
Jun 09 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
Nov 01 Python
如何通过安装HomeBrew来安装Python3
Dec 23 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源码之将图片转化为data/base64数据流实例详解
2016/11/27 PHP
详细分析PHP 命名空间(namespace)
2020/06/30 PHP
javascript 图片上传预览-兼容标准
2009/06/01 Javascript
EXT中xtype的含义分析
2010/01/07 Javascript
动态获取复选框checkbox选中个数的jquery代码
2013/06/25 Javascript
JavaScript控制table某列不显示的方法
2015/03/16 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
2015/05/18 Javascript
Jquery数字上下滚动动态切换插件
2015/08/08 Javascript
jQuery获取选中单选按钮radio的值
2016/12/27 Javascript
vue中mint-ui的使用方法
2018/04/04 Javascript
jquery+css实现Tab栏切换的代码实例
2019/05/14 jQuery
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
VUE前后端学习tab写法实例
2019/08/06 Javascript
微信小程序 组件的外部样式externalClasses使用详解
2019/09/06 Javascript
js实现随机点名程序
2020/09/17 Javascript
react国际化化插件react-i18n-auto使用详解
2020/03/31 Javascript
JavaScript随机数的组合问题案例分析
2020/05/16 Javascript
使用scrapy实现爬网站例子和实现网络爬虫(蜘蛛)的步骤
2014/01/23 Python
python实现屏保计时器的示例代码
2018/08/08 Python
Python合并同一个文件夹下所有PDF文件的方法
2019/03/11 Python
python与字符编码问题
2019/05/24 Python
用python爬取历史天气数据的方法示例
2019/12/30 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
2020/02/04 Python
Python chardet库识别编码原理解析
2020/02/18 Python
python 插入日期数据到Oracle实例
2020/03/02 Python
解决 jupyter notebook 回车换两行问题
2020/04/15 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
Python使用sys.exc_info()方法获取异常信息
2020/07/23 Python
英国家喻户晓的折扣商场:TK Maxx
2017/05/26 全球购物
浙大网新C/C++面试解惑
2015/05/27 面试题
优秀毕业大学生推荐信
2013/11/13 职场文书
汽车制造与装配专业自荐信范文
2014/01/02 职场文书
党组织公开承诺书
2014/03/29 职场文书
高中校园广播稿3篇
2014/09/29 职场文书
先进基层党组织主要事迹材料
2015/11/03 职场文书
《西游记》读后感(3篇)
2019/09/20 职场文书