国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實(shí)戰(zhàn)之實(shí)現(xiàn)excel讀取、統(tǒng)計(jì)、寫入的示例講解

2020-02-22 23:58:44
字體:
供稿:網(wǎng)友

背景

圖像領(lǐng)域內(nèi)的一個國內(nèi)會議快要召開了,要發(fā)各種邀請郵件,之后要錄入、統(tǒng)計(jì)郵件回復(fù)(參會還是不參會等)。如此重要的任務(wù),老師就托付給我了。ps: 統(tǒng)計(jì)回復(fù)郵件的時候,能知道誰參會或誰不參會。

而我主要的任務(wù),除了錄入郵件回復(fù),就是統(tǒng)計(jì)理事和普通會員的參會情況了(參會的、不參會的、沒回復(fù)的)。錄入郵件回復(fù)信息沒辦法只能人工操作,但如果統(tǒng)計(jì)也要人工的話,那工作量就太大了(比如在上百人的列表中搜索另外上百人在不在此列表中!!),于是就想到了用python來幫忙,花兩天時間不斷修改,寫了6個版本。。。

摘要

version_1 基本實(shí)現(xiàn)了excel讀取、統(tǒng)計(jì)、顯示功能,但問題也有不少,像顯示出來后還要自已復(fù)制、粘貼到excel表,而且set中還有nan這樣的bug。

version_2 相比較version_1而言,此版本用set代替list,可以自動去重。

version_3 解決了set中出現(xiàn)nan的bug,而且還加入的excel寫入的功能,但一次只能寫入一張表,所以要運(yùn)行兩次才能寫入兩張表(sheet)。

version_4 的改進(jìn)在于將version_3中寫入兩張表格的操作,集成在一個程序里,只需要運(yùn)行一次便可寫入兩張表,但也總是會寫入兩張表,萬一你只想寫入一張表呢??

version_5 相對之前版本的最大改進(jìn)在于將程序模塊化,更具可讀性了; 對修復(fù)set中出現(xiàn)nan的方法也進(jìn)行了改進(jìn)和簡化; 而且可以自由控制寫入多少張表了。

version_final 相比較version_5,修復(fù)了一個bug,之前需要先驗(yàn)知識,現(xiàn)在更通用一點(diǎn)(prep函數(shù)取代了set2list函數(shù))。

version_1

基本實(shí)現(xiàn)了excel讀取、統(tǒng)計(jì)、顯示功能,但問題也有不少,像顯示出來后還要自已復(fù)制、粘貼到excel表,而且set中還有nan這樣的值。

#version_1import osimport numpy as npimport pandas as pdos.chdir('C://Users//dell//Desktop//0711任務(wù)')print(os.getcwd())data = pd.read_excel('for_python.xlsx','Sheet2')return_set = set(data['回執(zhí)名單'])demand_set = set(data['理事名單'])answer_list = []unanswer_list = []for each in demand_set: if each in return_set: answer_list.append(each) else: unanswer_list.append(each)notattend_set = set(data['回執(zhí)名單'][-15:])nt = []for each in notattend_set: if each in answer_list: nt.append(each)def disp(ll, cap, num = True): print(cap) if num: for i, each in enumerate(ll):  print(i+1,each) else: for each in enumerate(ll):  print(each)disp(answer_list,'/n理事回執(zhí)名單')disp(unanswer_list,'/n理事未回執(zhí)名單')disp(nt,'/n理事回執(zhí)說不參加名單')

version_2

相比較上一個版本,此版本用set代替list,可以自動去重。

#version_2import osimport numpy as npimport pandas as pdos.chdir('C://Users//dell//Desktop//0711任務(wù)')print(os.getcwd())data = pd.read_excel('for_python.xlsx','Sheet2')return_set = set(data['回執(zhí)名單'])demand_set = set(data['理事名單'])answer_set = set([]) #理事回執(zhí)名單unanswer_set = set([]) #理事未回執(zhí)名單for each in demand_set: if each in return_set: answer_set.add(each) else: unanswer_set.add(each)notattend_set = set(data['回執(zhí)名單'][-17:])nt = set([]) #理事回執(zhí)說不參加名單for each in notattend_set: if each in answer_set: nt.add(each)ans_att_set = answer_set - nt #理事回執(zhí)參加名單def disp(ss, cap, num = False): print(cap) if num: for i, each in enumerate(ss):  print(i+1,each) else: for each in ss:  print(each)#disp(answer_set,'/n理事回執(zhí)名單')disp(ans_att_set,'/n理事回執(zhí)說參加名單')disp(nt,'/n理事回執(zhí)說不參加名單')disp(unanswer_set,'/n理事未回執(zhí)名單')print(len(ans_att_set),len(nt),len(unanswer_set))            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 开原市| 敦化市| 克山县| 临邑县| 当雄县| 美姑县| 恩施市| 香河县| 玉门市| 进贤县| 大方县| 丰台区| 贵南县| 玉环县| 永康市| 青阳县| 桃园县| 金沙县| 宁陵县| 余干县| 靖西县| 德安县| 石柱| 精河县| 花莲市| 临西县| 商南县| 济阳县| 临高县| 育儿| 五家渠市| 唐河县| 紫金县| 收藏| 甘德县| 客服| 巴中市| 南靖县| 阿荣旗| 河西区| 白玉县|