我們要實現(xiàn)的目標(biāo)是將各個來源的數(shù)據(jù)處理成同一種格式的數(shù)據(jù)
#把對每個來源的數(shù)據(jù)處理制作成模板,在之后對相同、相似格式的數(shù)據(jù)進行處理時可以直接套用模板或在已有模板的基礎(chǔ)上修改,大大提高了處理效率
#我們將模板存儲為xml文件
#每一個xml模板中有五個模塊,第一個模塊descript中存儲了制作者對模板信息的描述;第二模塊header存儲了這個模板處理的文件表頭字段;第三模塊exampleDatas存儲了模板處理的原始數(shù)據(jù)示例;第四模塊operaters中存儲了對數(shù)據(jù)記錄行的幾項操作;第五模塊map中,每條attribute描述原始數(shù)據(jù)的一個字段要經(jīng)過哪些數(shù)據(jù)處理方法后轉(zhuǎn)換為何目標(biāo)數(shù)據(jù)類型存為某一目標(biāo)字段,在map中,還可以添加條件語句來處理一些特殊情況。



這兩天的工作主要是研究了這個處理流程內(nèi)部的邏輯結(jié)構(gòu),還是挺神奇的...
5.12補充:跟之前做這個項目的師姐聊了一下,有個地方指出錯誤,導(dǎo)出文件的時候并沒有存為.xls文件,而是存為了一個序列化文件
#pickle.dump(tmp,open(filePath,'wb'))
說是使用了一個Py3里面自帶的包,百度結(jié)果:
python的pickle模塊實現(xiàn)了基本的數(shù)據(jù)序列和反序列化。通過pickle模塊的序列化操作我們能夠?qū)⒊绦蛑羞\行的對象信息保存到文件中去,永久存儲;通過pickle模塊的反序列化操作,我們能夠從文件中創(chuàng)建上一次程序保存的對象。
基本接口:
pickle.dump(obj, file, [,protocol])注解:將對象obj保存到文件file中去。protocol為序列化使用的協(xié)議版本,0:ASCII協(xié)議,所序列化的對象使用可打印的ASCII碼表示;1:老式的二進制協(xié)議;
pickle.load(file)注解:從file中讀取一個字符串,并將它重構(gòu)為原來的python對象。file:類文件對象,有read()和readline()接口。