正則表達式的應(yīng)用



import pandas as pd
import xlrd
import os
import warnings
import re
#warnings.filterwarnings("ignore")



excel_name=[]
start=[]
number=[]
bname=[]
job=[]

excel_staff=[]
start_staff=[]
name_staff=[]
number_staff=[]
job_staff=[]
dept=[]

def del_null(ls):
    while '' in ls:
        ls.remove('')
    return ls


files=os.listdir('D:/company')

for k,j in enumerate(files):
    excel=r'D:/company/%s'%j
    data=xlrd.open_workbook(excel)
    sheet=data.sheets()[0]
    for rowidx in range(sheet.nrows):
            row = sheet.row(rowidx)
            for colidx, cell in enumerate(row):
                    if cell.value == "BoD":
                        excel_name.append(j)
                        bname.append(del_null(sheet.row_values(rowidx))[1])
                        searchObj = re.search( r'since(.*?)\/(.*?)\/(.*?)\)',del_null(sheet.row_values(rowidx))[3] , re.M|re.I)
                        if searchObj:
                            start.append(searchObj.group(3))
                        else:
                            start.append('n.a.')
                        job_temp=re.sub(r'\(since.*?\)',"",del_null(sheet.row_values(rowidx))[3])
                        job.append(job_temp)
                        number.append(del_null(sheet.row_values(rowidx+1))[0])
                        # searchObj2 = re.search( r'Worldbox',del_null(sheet.row_values(rowidx+1))[0] , re.M|re.I)
                        # if searchObj2:
                        #   number_staff.append(del_null(sheet.row_values(rowidx+2))[0])
                        # else:
                        #   number_staff.append(del_null(sheet.row_values(rowidx+1))[0])

                        
#print(excel_name,bname,start,job,number)
df=pd.DataFrame(columns=['excel_name','start','number','bname','job'])
df['excel_name']=excel_name
df['start']=start
df['number']=number
df['bname']=bname
df['job']=job
#df.to_csv('d:/board.csv')
#print(df)

#----------------------staff information-----------------------

for k,j in enumerate(files):
    excel=r'D:/company/%s'%j
    data=xlrd.open_workbook(excel)
    sheet=data.sheets()[0]
    for rowidx in range(sheet.nrows):
            row = sheet.row(rowidx)
            for colidx, cell in enumerate(row):
                    if cell.value == "SenMan"or cell.value == "SenMan, LegDep"or cell.value == "OthDep"or cell.value == "FinAcc"or cell.value == "CustSv"or cell.value == "PMPMan":
                        excel_staff.append(j)
                        #print(del_null(sheet.row_values(rowidx)))
           
                        dept.append(cell.value)
                        name_staff.append(del_null(sheet.row_values(rowidx))[1])
                        searchObj = re.search( r'since(.*?)\/(.*?)\/(.*?)\)',del_null(sheet.row_values(rowidx))[3] , re.M|re.I)
                        if searchObj:
                            start_staff.append(searchObj.group(3))
                        else:
                            start_staff.append('n.a.')
                        job_temp1=re.sub(r'\(since.*?\)',"",del_null(sheet.row_values(rowidx))[3])
                        job_staff.append(job_temp1)
                        number_staff.append(del_null(sheet.row_values(rowidx+1))[0])
                        # searchObj2 = re.search( r'Worldbox',del_null(sheet.row_values(rowidx+1))[0] , re.M|re.I)
                        # if searchObj2:
                        #   number_staff.append(del_null(sheet.row_values(rowidx+2))[0])
                        # else:
                        #   number_staff.append(del_null(sheet.row_values(rowidx+1))[0])
#print(excel_staff,name_staff,start_staff,job_staff,number_staff)
df1=pd.DataFrame(columns=['excel_staff','start_staff','number_staff','job_staff','name_staff','dept'])
df1['excel_staff']=excel_staff
df1['start_staff']=start_staff
df1['number_staff']=number_staff
df1['name_staff']=name_staff
df1['job_staff']=job_staff
df1['dept']=dept
df1.to_csv('d:/staff.csv')



?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末携兵,一起剝皮案震驚了整個濱河市逞刷,隨后出現(xiàn)的幾起案子熄浓,更是在濱河造成了極大的恐慌骨望,老刑警劉巖虫腋,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異兴蒸,居然都是意外死亡凹炸,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門懒熙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來丘损,“玉大人,你說我怎么就攤上這事工扎∨窃浚” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵定庵,是天一觀的道長吏饿。 經(jīng)常有香客問我踪危,道長,這世上最難降的妖魔是什么猪落? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任贞远,我火速辦了婚禮,結(jié)果婚禮上笨忌,老公的妹妹穿的比我還像新娘蓝仲。我一直安慰自己,他們只是感情好官疲,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布袱结。 她就那樣靜靜地躺著,像睡著了一般途凫。 火紅的嫁衣襯著肌膚如雪垢夹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天维费,我揣著相機與錄音果元,去河邊找鬼。 笑死犀盟,一個胖子當著我的面吹牛而晒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播阅畴,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼倡怎,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了贱枣?” 一聲冷哼從身側(cè)響起监署,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎冯事,沒想到半個月后焦匈,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體血公,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡昵仅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了累魔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片摔笤。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖垦写,靈堂內(nèi)的尸體忽然破棺而出吕世,到底是詐尸還是另有隱情,我是刑警寧澤梯投,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布命辖,位于F島的核電站况毅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏尔艇。R本人自食惡果不足惜尔许,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望终娃。 院中可真熱鬧味廊,春花似錦、人聲如沸棠耕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽窍荧。三九已至辉巡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蕊退,已是汗流浹背红氯。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留咕痛,地道東北人痢甘。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像茉贡,于是被迫代替她去往敵國和親塞栅。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353