前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python对execl 处理操作代码

python对execl 处理操作代码

作者头像
砸漏
发布2020-10-21 16:10:38
3700
发布2020-10-21 16:10:38
举报
文章被收录于专栏:恩蓝脚本

1. 读取execl

1.前提需要安装xlrd模块,这个在网上可以找安装教程,这里就不写了

2. 打开表格

3. 读取表格的sheet

4. 按行读取数据或者列读取数据或者单元格读取数据

实际操作:

代码语言:javascript
复制
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 处理内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档