PyQt項目中對數(shù)據(jù)使用xml模板轉(zhuǎn)換到統(tǒng)一格式

我們要實現(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中,還可以添加條件語句來處理一些特殊情況。

模板示例
數(shù)據(jù)處理流程
匹配模板和生成模板的過程

這兩天的工作主要是研究了這個處理流程內(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()接口。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容