python对execl 处理操作代码
1.读取execl
1.前提需要安装xlrd模块,这个在网上可以找安装教程,这里就不写了
2.打开表格
3.读取表格的sheet
4.按行读取数据或者列读取数据或者单元格读取数据
实际操作:
importxlrd
importxlwt
fromxlutils.copyimportcopy
definfo_row_col_execl(file_name):
myworkbook=xlrd.open_workbook(file_name)
mySheetlist=myworkbook.sheets()
mysheet=mySheetlist[0]
nrows=mysheet.nrows
ncols=mysheet.ncols
returnnrows,ncols
defread_execl(filename):
myworkbook=xlrd.open_workbook(filename)
mySheetlist=myworkbook.sheets()
mysheet=mySheetlist[0]
returnmysheet
defcom_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)
defread_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)
fornrowinrange(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)
returnlist_execl_values
defcom_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
foriindai_list_execl_values:
dai_list_execl_value=i
dai_len_row=len(dai_list_execl_value)
forkinall_list_execl_values:
all_list_execl_value=k
result=compare_two_dict(dai_list_execl_value,all_list_execl_value,key_list)
ifresult=="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
defwrite_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)
defcompare_two_dict(dai_dict,all_dict,key_list):
flag=True
dai_dict_key=dai_dict.keys()
all_dict_key=all_dict.keys()
iflen(key_list)!=0:
forkeyinkey_list:
ifkeyindai_dict_keyandkeyinall_dict_key:
ifdai_dict[key]==all_dict[key]:
#print(dai_dict[key],all_dict[key])
flag=flag&True
else:
flag=flag&False
else:
raiseException('key_listcontainserrorkey')
else:
raiseException('key_listisnull')
ifflag:
result="Pass"
else:
result="Failed"
#print(result)
returnresult
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处理内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!