欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于二維數據清洗的方法、系統及計算機可讀存儲介質與流程

文檔序號:11250994閱讀:1164來源:國知局
用于二維數據清洗的方法、系統及計算機可讀存儲介質與流程

本發(fā)明涉及計算機應用技術領域,具體而言,涉及一種二維數據清洗方法、系統及計算機可讀存儲介質。



背景技術:

隨著計算機技術的發(fā)展和互聯網的普及,計算機技術對人們的生活和工作產生了日益深入的影響,越來越多的領域使用計算機技術來幫助處理二維數據,這與人工處理相比大大提高了效率和準確性。

二維數據通常承載在二維表格形式中。二維表格以“行”為主要單位,每行內有很多“單元格”;不同行但同一列的“單元格”通常存儲的是同一用途的數據。在計算機系統中,常用的二維表格形式的文件類型包括,例如,后綴名為“.xls”或“.xlsx”的excel文件、后綴名為“.csv”的文本文件等。這些文件類型之間的區(qū)別僅僅在于數據存儲的形式不同或者數據是否經過壓縮。數據和承載其的文件之間是相互獨立的。通過一些計算機軟件,可以從不同文件類型中讀取二維數據,也可以將二維數據寫入不同的文件類型中。

在數據的定量研究和輕量級數據處理中,均需要對數據進行清洗處理,以剔除異常數據,保證數據結果的信度和效度。數據清洗是指,對數據進行重新審查和校驗的過程,目的在于刪除重復信息、糾正存在的錯誤,并提供數據的一致性。

目前,excel軟件自身可提供一些數據清洗功能,但需要使用者熟悉excel的操作,這對于初學者來說可能是相當復雜的。在使用者只希望對二維數據表格進行清洗處理而不會用到excel的其它功能的情況下,為此學習excel的復雜操作對于使用者來說無疑是耗時而且低效的。

另外,excel自身提供的功能存在一定的局限性。常見的excel數據篩選方式主要有3種:自動篩選命令、函數公式和vba(visualbasicforapplications)。其中,自動篩選命令和函數公式是excel軟件中提供的兩種數據篩選功能;vba是visualbasic的一種宏語言,是由微軟公司開發(fā)的、在其桌面應用程序中執(zhí)行通用的自動化(ole)任務的編程語言,主要用來擴展windows的應用的功能,特別是microsoftoffice軟件。

通過excel自身的篩選命令和函數公式或用戶自己編寫的vba程序對數據進行清洗,對于使用者來說也存在著一定的門檻或局限性,學習成本較高。首先,對于篩選命令,需要使用者熟練掌握excel軟件的使用方法,存在一定的操作門檻。其次,excel自帶的函數公式,只提供部分功能,存在一定的局限性。最后,編寫vba程序則進一步要求使用者具備編程能力。

因此,對于不具備編程能力或不熟悉excel使用方法的廣大普通使用者來說,迫切需要一種更加用戶友好的、容易操作、直觀的數據清洗方法和系統。



技術實現要素:

為了解決現有技術中存在的一個或多個問題,本發(fā)明提供一種用于二維數據清洗的方法、系統及計算機可讀存儲介質。

根據本發(fā)明的一方面,提供了一種用于二維數據清洗的方法,其特征在于,包括:以可視化方式將用于二維數據進行清洗的篩選條件提供給用戶,其中,所述篩選條件包括單列運算邏輯、多列運算邏輯和雙列范圍邏輯中的一個或多個的組合;響應于用戶輸入,接收用戶選擇的篩選條件;以及根據所述篩選條件對所述二維數據進行清洗。

在一個實施例中,在以可視化方式將篩選條件提供給用戶之前,還包括:接收承載二維數據的文件,并將所接收的文件解析為預定格式的二維數據;在根據所述篩選條件對所述二維數據進行清洗之后,還包括:將清洗后的二維數據轉換為承載二維數據的所述文件所需的格式,生成并輸出二維數據清洗后的文件。

在一個實施例中,以可視化方式將用于二維數據進行清洗的篩選條件提供給用戶還包括:以可視化方式將與/或運算符選項提供給用戶;篩選條件包括:單列運算邏輯、多列運算邏輯和雙列范圍邏輯,響應于用戶輸入,通過與/或運算符的組合;根據篩選條件對所述二維數據進行清洗包括:對單列運算邏輯、多列運算邏輯和雙列范圍邏輯的計算結果執(zhí)行相應的與/或運算。

在一個實施例中,以可視化方式將用于二維數據進行清洗的篩選條件提供給用戶還包括:以可視化方式將優(yōu)先級選項提供給用戶;所述篩選條件包括:響應于用戶輸入,在所述單列運算邏輯、多列運算邏輯和雙列范圍邏輯間,通過與/或運算符的組合中設置優(yōu)先級順序;所述根據所述篩選條件對所述二維數據進行清洗包括:按照所設置的優(yōu)先級順序,對所述單列運算邏輯、多列運算邏輯和雙列范圍邏輯的計算結果執(zhí)行相應的與/或運算。

在一個實施例中,該數據清洗方法還包括以可視化方式將保留和剔除選項提供給用戶,響應于用戶輸入,在用戶選擇保留時,將滿足所述篩選條件的數據保留;并且在用戶選擇剔除時,將滿足所述篩選條件的數據剔除。

根據本發(fā)明的另一方面,提供了一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,該程序被處理器執(zhí)行時以上所述的方法。

根據本發(fā)明的又一方面,提供了一種用于二維數據清洗的設備,其特征在于,包括:一個或多個處理器;存儲裝置,其用于存儲一個或多個程序,其中,當一個或多個程序被該一個或多個處理器執(zhí)行,使得該一個或多個處理器實現以上所述的方法。

根據本發(fā)明的再一方面,提供了一種用于二維數據清洗的系統,其特征在于,包括:篩選條件顯示單元,用于以可視化方式將篩選條件提供給用戶,其中,所述篩選條件包括單列運算邏輯、多列運算邏輯和雙列范圍邏輯中的一個或多個的組合;用戶接口單元,用于響應于用戶輸入,接收用戶選擇的篩選條件;以及數據清洗單元,用于根據所述篩選條件對所述二維數據進行清洗。

在一個實施例中,該系統還包括:文件接收單元,用于接收承載二維數據的文件數據;文件解析單元,用于將所接收的文件解析為預定格式的二維數據;數據導出單元,用于將清洗后的二維數據轉換為承載二維數據的所述文件所需的格式,并生成完成數據清洗后的文件。

在一個實施例中,篩選條件顯示單元還用于以可視化方式將與/或運算符選項提供給用戶;用戶接口單元還用于響應于用戶輸入,接收用戶選擇的與/或運算符選項;數據清洗單元還用于根據接收的與/或運算符選項,將所述單列運算邏輯、多列運算邏輯和雙列范圍邏輯通過與/或運算符的組合,并對所述單列運算邏輯、多列運算邏輯和雙列范圍邏輯的計算結果執(zhí)行相應的與/或運算。

在一個實施例中,篩選條件顯示單元還用于以可視化方式將優(yōu)先級選項提供給用戶;用戶接口單元還用于響應于用戶輸入,接收用戶選擇的優(yōu)先級選項;數據清洗單元還用于根據接收的優(yōu)先級選項,在單列運算邏輯、多列運算邏輯和雙列范圍邏輯通過與/或運算符的組合中設置優(yōu)先級順序,并按照所設置的優(yōu)先級順序,對單列運算邏輯、多列運算邏輯和雙列范圍邏輯的計算結果執(zhí)行相應的與/或運算。

通過本發(fā)明提供的方法和系統,能夠通過完全可視化的方式使用戶能夠輕松地對二維數據進行清洗,提高了效率。

應當理解的是,以上的一般性描述和后文的詳細描述僅是示例性的,并不能限制本發(fā)明。

附圖說明

下面將參照附圖詳細描述本發(fā)明的示例實施例,本發(fā)明的上述和其它目標、特征和優(yōu)點將變得更加顯而易見。

圖1是根據本發(fā)明的一個示例性實施例的二維數據清洗方法的流程圖。

圖2具體示出了圖1所示的實施例中的接收并解析承載二維數據的文件的流程圖。

圖3具體示出了圖1所示的實施例中的數據清洗部分的示意性框圖。

圖4具體示出了圖1所示的實施例中的導出文件的流程圖。

圖5-圖9示出了本發(fā)明的示例性實施例中的使用可視化用戶界面選擇篩選條件和篩選方式的例子。

圖10示出了適于用來實現本發(fā)明的一個示例性實施例的數據清洗設備的計算機設備100的結構示意圖。

圖11示出了根據本發(fā)明的一個示例性實施例的系統框圖。

圖12示出了根據本發(fā)明的一個示例性實施例的原始數據的一個例子。

圖13示出了根據本發(fā)明的刪除重復數據的一個例子。

圖14示出了根據本發(fā)明的單列運算邏輯清洗數據的一個例子。

圖15示出了根據本發(fā)明的多列運算邏輯清洗數據的一個例子。

圖16示出了根據本發(fā)明的雙列范圍邏輯清洗數據的一個例子。

圖17示出了本發(fā)明的另一個實例的數據清洗結果。

具體實施方式

現將參考附圖更全面地描述本發(fā)明的示例性實施例。應理解,本文中的示例性實施例僅是提供用來幫助理解本發(fā)明,而不應以任何形式限制本發(fā)明。提供這些實施例是為了使本發(fā)明的描述更加全面和完整,并將示例性實施例的構思全面地傳達給本領域的技術人員。附圖僅為本發(fā)明的示意性圖解,并非一定是按比例繪制。圖中相同的附圖標記表示相同或類似的部分,因而將省略對它們的重復描述。

此外,本文描述的特征、結構或優(yōu)點可以以任何合適的方式結合在一個或更多實施例中。在下面的描述中,提供許多具體細節(jié)從而給出對本發(fā)明的實施方式的充分理解。然而,本領域技術人員將意識到,可以實踐本發(fā)明的技術方案而省略特定細節(jié)中的一個或多個,或者可以采用其它等效的方法、方式、裝置、步驟等來代替。為了簡明起見,對于本領域中公知的結構、方法、裝置、實現或者操作,將不再贅述。

在以下對示例性實施例的詳細描述中,將使用excel文件作為承載二維數據的文件格式作為例子進行說明。但應理解,本發(fā)明的技術方案不僅適用于excel文件,而是根據實際應用需要,可應用于可承載或者包含有二維數據的任何文件格式。常用的二維表格形式的文件類型包括但不限于后綴名為例如,“.xls”或“.xlsx”的excel文件,后綴名為例如“.csv”等的文本文件。另外,在以下示例性實施例中,由計算機處理器來執(zhí)行本發(fā)明的方法,但應理解,該方法同樣可以由操作系統為windows7+、macos、linux的平板電腦、膝上型電腦、個人數字助理、智能手機或任何具有處理器或微處理器的電子設備來執(zhí)行。

下面將結合附圖詳細解釋本發(fā)明的示例性實施例。圖1示出了根據本發(fā)明的一個實施例的二維數據清洗方法的流程圖。

如圖1所示,在步驟s101,處理器接收用戶輸入的文件,該文件承載著需要進行數據清洗的二維數據,并將該文件中的二維數據解析為所需的格式。在下文中,將結合圖2對該步驟進行詳細解釋。

在步驟s102,處理器接收用戶選擇的篩選條件;并且在步驟s103,接收用戶選擇的篩選方式。

在步驟s104,處理器根據用戶選擇的篩選條件和篩選方式來執(zhí)行數據清洗。在下文中將會參照圖3更加詳細地解釋。

在步驟s105,將執(zhí)行數據清洗后的二維數據轉換為承載數據的文件所需的格式,最后,生成并導出文件,導出的文件中承載著完成數據清洗后的二維數據。以下將結合圖4對該步驟做出更加詳細的說明。

根據以上所描述的示例性的本發(fā)明的數據清洗方法,通過以可視化的方式將供選擇的篩選條件和篩選方式提供給用戶,并響應于用戶輸入,接收用戶選擇的篩選條件和篩選方式,處理器或數據清洗系統能夠自動地根據所選的篩選條件和篩選方式對二維數據進行清洗;并將清洗后的二維數據轉換為承載數據的文件所需的格式,從而生成并輸出文件。由此,以上實施例提供了一種以可視化的方式執(zhí)行用戶清洗的方法,其具有容易操作、功能多樣、效率高等特點。

為了便于理解,下面將結合實例對圖1所示的示例性方法展開詳細說明。圖2具體示出了實現圖1中接收并解析承載二維數據的文件的步驟s101的處理流程圖。在圖2所示的處理中,使用excel文件作為承載二維數據的文件格式作為例子。應理解,本發(fā)明的技術方案不僅適用于excel文件,而是根據實際應用需要,可應用于可承載或者包含有二維數據的任何文件格式。

如圖2所示,在接收到用戶導入的文件時,在步驟s202,判斷該文件是否是excel文件;如果是,則處理繼續(xù)前進到步驟s203,判斷excel數據是否符合要求,例如,首行為字段名且無合并單元格;如果否,則返回步驟s201,重新接收導入的文件。在步驟s203,如果判斷為是,則處理繼續(xù)進行到步驟s204,將文件中的二維數據解析為json數據,并且該接收和解析文件的處理結束;如果否,則處理返回步驟s201。在該實例中,通過js-xlsx庫將用戶輸入的excel文件解析為工具可用的json數據。應理解,根據需要,可使用其它解析庫,并且二維數據可以被解析為其它格式。

現返回圖1,在完成步驟s101后,該方法前進到步驟s102,處理器接收用戶選擇的篩選條件;并且在步驟s103,接收用戶選擇的篩選方式。

圖5-9示出了本發(fā)明的示例性實施例中的以可視化方式提供篩選條件和篩選方式選項給用戶的例子。如圖5-9所示,提供給用戶的篩選條件包括單列運算邏輯、多列運算邏輯、雙列范圍邏輯等,用戶通過為每一項邏輯提供的選項來選擇該邏輯執(zhí)行的列、滿足的條件(例如,大于、小于等)以及數值。用戶可以選擇單列運算邏輯、多列運算邏輯和雙列范圍邏輯之間的組合方式,例如,通過“與”運算符(圖5-9中的“且”選項),或者,“或”運算符(圖中未示出)來進行組合,并且可以對邏輯之間的運算進行編組以指定優(yōu)先級順序(圖5-9中的“編組”選項)。用戶可以通過點擊屏幕右上角的保留和剔除選項來選擇篩選方式。當用戶選擇的篩選方式為保留時,意味著清洗數據時將會保留滿足篩選條件的數據,而在用戶選擇的篩選方式為剔除時,則將會剔除滿足篩選條件的數據。

接下來,將參考圖3描述圖1中根據選擇的篩選條件和篩選方式進行數據清洗的示意性框圖。

如圖3所示,如301處所示,響應于用戶輸入,接收解析后的數據、用戶輸入的篩選條件和篩選方式。在301中,根據本發(fā)明的一個實施例,提供給用戶的可選的篩選條件包括單列運算邏輯、多列運算邏輯和雙列范圍邏輯、與/或運算符,以及優(yōu)先級選項;可供用戶選擇的篩選方式包括“剔除”和“保留”。

下面首先對各種篩選條件選項進行解釋。

單列運算邏輯通過判斷單列的數據是否滿足篩選條件來清洗數據。例如,在圖5所示的實施例中,以可視化方式提供給用戶的單列運算邏輯篩選條件包括以下組中的至少一項:小于、小于或等于、大于、大于或等于、等于、不等于、包含、不包含、開頭字符、結束字符、正則表達式、為空、不為空等。例如,單列運算邏輯可以是判斷某列成員的年齡是否大于18歲。

多列運算邏輯通過對多列數據進行指定的運算,然后判斷運算后的結果是否滿足篩選條件來清洗數據。在圖6所示的實施例中,以可視化方式提供給用戶的多列運算邏輯篩選條件包括以下組中的至少一項:相加、相減、相乘、相除、求余、時間相減、字符串拼接等。多列運算邏輯,是對多列執(zhí)行指定的運算,如,字符串相加(拼接),相乘等后,再進行判斷。例如,判斷某列的字段a(姓)和字段b(名)拼接后是否為“張三”。

雙列范圍邏輯是對用戶選擇的兩列之間的范圍內的多列數據,同時判斷每列數據是否滿足篩選條件來清洗數據。例如,判斷第3至第10列的數值是否存在有n列(n由用戶指定)大于18。圖7和圖8示出了可視化界面的一個例子。如圖7所示,用戶可以首先選擇兩列的范圍,例如,jm列,則意味著以下操作在j和m兩列之間的多列數據中展開。接著,用戶選擇以可視化方式提供的選項:滿足1列、滿足2列……滿足全部列中的一項,然后在圖8所示的屏幕上選擇以下組中的至少一項:小于、小于或等于、大于、大于或等于、等于、不等于、包含、不包含、開頭字符、結束字符、正則表達式、為空、不為空等。這樣,可以完成對雙列范圍邏輯的設置。

根據本發(fā)明的一個實施例,用戶在輸入篩選條件時,可以通過在下拉菜單中點擊可選項來選擇篩選條件,并對每個篩選條件及各篩選條件之間的組合方式進行編輯。在本發(fā)明的一個實施例中,單列運算邏輯、多列運算邏輯和雙列范圍邏輯通過與/或運算符,或者優(yōu)先級選項來任意組合。用戶通過點擊“添加”功能按鈕,可以增加單列運算邏輯、多列運算邏輯和雙列范圍邏輯中的一個或多個,從而實現對篩選條件的進一步編輯。

圖9示出了對單列運算邏輯、多列運算邏輯和雙列范圍邏輯指定與運算符(即,“且”選項)和優(yōu)先級選項的一個例子。如本領域技術人員公知的,與運算的優(yōu)先級比或運算要高。如果用戶希望使或運算的優(yōu)先級更高,則可以將執(zhí)行或運算的兩個篩選條件添加到同一個組別中。例如,在如圖9所示的例子中,a組別的優(yōu)先級被定義為最高,其次是b、c、d、e。舉例來說,在單列運算邏輯和多列運算邏輯之間為“或”的關系(圖中未示出),然后與雙列范圍邏輯之間為與(“且”選項)的關系的情況下,需要先執(zhí)行單列運算邏輯和多列運算邏輯之間的或運算,用戶可以通過圖9所示的“組別”下拉菜單,分別將單列運算邏輯和多列運算邏輯的“組別”選擇為“a”,這樣,這兩個邏輯之間的運算將會以最高優(yōu)先級被執(zhí)行,然后才執(zhí)行下一優(yōu)先級(例如,組別b)的運算。

現返回圖3,在302處,根據用戶選擇的篩選條件和篩選方式來執(zhí)行數據清洗。在用戶選擇了單列運算邏輯時,計算機或處理器判斷單列的數據是否滿足篩選條件;當選擇了多列運算邏輯時,通過對多列數據進行指定的運算,然后判斷運算后的結果是否滿足篩選條件;當選擇了雙列范圍邏輯時,對用戶選擇的兩列之間的范圍內的多列數據,同時判斷每列數據是否滿足篩選條件。然后,計算機或處理器依用戶指定的優(yōu)先級順序,根據用戶選擇的單列運算邏輯、多列運算邏輯和雙列范圍邏輯之間的與/或運算符,對單列運算邏輯、多列運算邏輯和雙列范圍邏輯中每項的計算結果進行運算。最后,根據用戶選擇的“保留”還是“剔除”,相應地將滿足運算結果的數據進行保留或者剔除。

現返回圖1,在如上所述地執(zhí)行了根據選擇的篩選條件和篩選方式進行數據清洗之后,圖1的方法前進到步驟s105,基于清洗后的數據生成并導出數據清洗后的文件。下面將參考圖4具體描述圖1中的步驟s105。

在圖4中,仍然以excel文件格式為例進行說明。如圖4所示,在步驟s401,將清洗后的數據轉換成excel所需的數據格式,并生成excel文件。然后,處理前進到步驟s402,導出excel文件。

應理解,以上參照圖1-4所描述的方法僅是示例性的,其中的方法步驟的順序可以改變,并且其中某些步驟可以根據實際需要而省略,或添加額外的步驟。

本發(fā)明還提供一種數據清洗設備。下面參考圖10,其示出了適于用來實現本發(fā)明的一個示例性實施例的數據清洗設備的計算機設備100的結構示意圖。圖10示出的設備僅僅是一個示例,不應對本申請實施例的功能和使用范圍帶來任何限制。

如圖10所示,計算機設備100包括中央處理單元(cpu)101,其可以根據存儲在只讀存儲器(rom)102中的程序或者從存儲部分108加載到隨機訪問存儲器(ram)103中的程序而執(zhí)行各種適當的動作和處理。在ram103中,還存儲有系統100操作所需的各種程序和數據。cpu101、rom102以及ram103通過總線104彼此相連。輸入/輸出(i/o)接口105也連接至總線104。

以下部件連接至i/o接口105:包括鍵盤、鼠標等的輸入部分106;包括諸如陰極射線管(crt)、液晶顯示器(lcd)等以及揚聲器等的輸出部分107;包括硬盤等的存儲部分108;以及包括諸如lan卡、調制解調器等的網絡接口卡的通信部分109。通信部分109經由諸如因特網的網絡執(zhí)行通信處理。驅動器110根據需要連接至i/o接口105??刹鹦督橘|111,諸如磁盤、光盤、磁光盤、半導體存儲器等等,根據需要安裝在驅動器110上,以便于從其上讀出的計算機程序根據需要被安裝入存儲部分108。

特別地,根據本公開的實施例,上文參考圖1-4的流程圖描述的過程可以被實現為計算機軟件程序。例如,本公開的實施例包括一種計算機程序產品,其包括承載在計算機可讀介質上的計算機程序,該計算機程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實施例中,該計算機程序可以通過通信部分109從網絡上被下載和安裝,和/或從可拆卸介質111被安裝。在該計算機程序被中央處理單元(cpu)101執(zhí)行時,執(zhí)行本申請的系統中限定的上述功能。

需要說明的是,本申請所示的計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質或者是上述兩者的任意組合。計算機可讀存儲介質例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導體的系統、裝置或器件,或者任意以上的組合。計算機可讀存儲介質的更具體的例子可以包括但不限于:具有一個或多個導線的電連接、便攜式計算機磁盤、硬盤、隨機訪問存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本申請中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執(zhí)行系統、裝置或者器件使用或者與其結合使用。而在本申請中,計算機可讀的信號介質可以包括在基帶中或者作為載波一部分傳播的數據信號,其中承載了計算機可讀的程序代碼。這種傳播的數據信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質還可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統、裝置或者器件使用或者與其結合使用的程序。計算機可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括但不限于:無線、電線、光纜、rf等等,或者上述的任意合適的組合。

根據本發(fā)明的另一方面,提供了一種二維數據清洗系統,包括:文件接收單元,其接收承載二維數據的文件;數據解析單元,其將所接收的文件解析為預定格式的二維數據;用戶接口單元,其以可視化方式將篩選條件和篩選方式提供給用戶,并響應于用戶輸入,接收用戶選擇的篩選條件和篩選方式;數據清洗單元,其根據篩選條件和篩選方式對二維數據進行清洗;以及文件導出單元,其將清洗后的二維數據轉換為承載二維數據的文件所需的格式,并生成完成數據清洗后的文件。以上單元可以通過軟件或硬件實現,其中某些單元可以集成在一起。

圖11示出了根據本發(fā)明的一個示例性實施例的系統框圖。在圖11所示的實施例中,文件接收單元、文件導出單元可以由用戶接口單元來實現,也就是說,用戶通過用戶接口單元來導入文件、輸入篩選條件和篩選方式,并輸出數據清洗后的文件。

在圖11所示的實施例中,該二維數據清洗系統包括用戶接口單元、文件解析單元、數據清洗單元和文件生成單元。該系統的用戶界面,例如,可以實現成如圖5-9所示。在運行該系統時,首先,用戶通過用戶接口單元導入承載二維數據的文件,該文件在文件解析單元處被解析成預定的格式的二維數據,例如,json數據。用戶可通過用戶接口單元輸入或選擇篩選條件和篩選方式,根據用戶輸入的篩選條件和篩選方式,解析后的數據在數據清洗單元被處理。處理后的數據,即,完成了數據清洗的數據在文件生成單元處按照所需文件格式生成要輸出的文件,并通過用戶接口單元輸出生成的文件。

用戶通過用戶接口單元輸入篩選條件時,例如,通過圖5-9所示的界面,以可視化方式提供給用戶篩選條件和篩選條件組合方式的可選項。篩選條件可包括單列運算邏輯、多列運算邏輯和雙列范圍邏輯。單列運算邏輯篩選條件包括以下組中的至少一項:小于、小于或等于、大于、大于或等于、等于、不等于、包含、不包含、開頭字符、結束字符、正則表達式、為空、不為空等。例如,單列運算邏輯可以是判斷某列成員的年齡是否大于18歲。多列運算邏輯通過對多列數據進行指定的運算,然后判斷運算后的結果是否滿足篩選條件來清洗數據。在圖5所示的實施例中,以可視化方式提供給用戶的多列運算邏輯篩選條件包括以下組中的至少一項:相加、相減、相乘、相除、求余、時間相減、字符串拼接等。例如,判斷某列的字段a(姓)和字段b(名)拼接后是否為“張三”。雙列范圍邏輯是對用戶選擇的兩列之間的范圍內的多列數據,同時判斷每列數據是否滿足篩選條件來清洗數據。例如,判斷第3至第10列的數值是否存在有n列(n由用戶指定)大于18。

用戶可通過可視化的用戶界面選擇篩選方式。例如,參考圖5的實例,用戶在輸入篩選條件時,可以通過在下拉菜單中點擊可選項來選擇篩選條件,并對每個篩選條件及各篩選條件之間的組合方式進行編輯。在本發(fā)明的一個實施例中,單列運算邏輯、多列運算邏輯和雙列范圍邏輯中的兩個或三個篩選條件在組合時,可以通過與/或運算符,或指定優(yōu)先級選項來任意組合。并且,在該實施例中,如圖5所示,通過用戶交互,例如,用戶通過點擊“添加”按鈕,可以增加或減少單列運算邏輯、多列運算邏輯和雙列范圍邏輯中的一個或多個,從而實現對篩選條件的編輯。

在本發(fā)明的一個實施例中,該方法還包括以可視化方式將篩選方式提供給用戶,并接收用戶選擇的篩選方式。篩選方式可包括保留和剔除。當用戶選擇的篩選方式為保留時,將滿足篩選條件的數據保留;并且在用戶選擇的篩選方式為剔除時,將滿足篩選條件的數據剔除。

數據清洗單元根據用戶指定的篩選條件及其組合方式,并根據用戶選擇的篩選方式,生成清洗后的數據。

接下來,將參考圖12-17,通過實例的方式來說明根據本發(fā)明的數據清洗方法、設備和系統的操作。

圖12示出了原始數據的一個例子。在該圖中,可以看到,作為例子的二維數據表格共14行,包含13條數據。該13條數據包括編號為1-10的數據,其中的重復項分別是編號為2、3、8的數據。該表格每一列(編號為a、b、c、d……m)存儲著每行數據的各種信息,例如,編號、開始時間、結束時間、客戶端信息、姓名、年齡、性別、最近一個月的網購消費金額、你最常去的網站是、配送時間可靈活選擇、物流查詢方便、貨物包裝完整、快遞員態(tài)度好等等。

根據一個實施例,可選地,可以執(zhí)行刪除重復數據的操作。當刪除重復數據時,需要用戶指定哪些列,如,“身份證”列。刪除重復數據后的結果如圖13所示,可以看到,其中編號為2、3、8的重復數據被去除了。根據另一個實施例,刪除重復數據的操作在數據篩選的最后執(zhí)行,以避免誤刪除滿足篩選條件的數據。

圖14示出了使用本發(fā)明的數據清洗系統來執(zhí)行單列運算邏輯清洗數據的一個例子。例如,根據用戶在交互界面上的選擇,剔除(即,用戶選擇的篩選方式為剔除)第i列(“你最常去的電商網站是?”)為空的數據,得到的結果如圖14所示。從圖13中可以看到,第i列為空的數據為編號為6和9的數據;在圖14中,這兩行數據已經被剔除,剩下編號為1-5、7-8和10的數據。

圖15示出了根據本發(fā)明的多列運算邏輯清洗數據的一個例子。例如,從圖13所示的數據中,剔除第i列(“你最常去的電商網站是?”)為空,且保留第j、k、l、m列的總分大于或等于36的數據,其結果如圖14所示??梢钥吹剑趇列為空的編號為6和9的數據被剔除后,剩余的編號為1-5、7-8和10的數據的第j、k、l、m列總分大于等于36的數據包括編號為5和10的數據。因此,在圖15中,可以看到,數據清洗后的結果僅保留了編號為5和10的數據。

下面結合圖16的實例來說明本發(fā)明的雙列范圍邏輯。例如,用戶要求在圖13所示的去除重復數據之后的數據中,剔除第i列(你最常去的電商網站是?)“為空”,且保留第j至m列范圍內,至少有2列大于7分的數據,其數據清洗結果如圖16所示。首先,從圖13的數據中剔除第i列為空的編號為6和9的數據后,剩余的編號為1-5、7-8和10的數據的第j、k、l、m列的分數滿足至少2列大于7分的數據包括編號為3、8、5和10的數據,如圖16中所示,這些列被保留下來,生成了數據清洗后的結果數據。

圖17示出了本發(fā)明的另一個實例的數據清洗結果,例如,在對圖12所示的原始數據去除重復數據之后,保留第i列不為空,且值為“京東”或“天貓”的數據。應理解,以上實例的描述是為了幫助理解本發(fā)明,而以任何方式構成對本發(fā)明的限制。

本發(fā)明還提供一種計算機可讀存儲介質,其上存儲有計算機程序,該程序被處理器執(zhí)行時實現以上所描述的方法??梢岳斫猓陨厦枋龅南到y、模塊、單元或裝置可以通過硬件、軟件或者軟硬件結合的方式來實現,這里不再贅述。該計算機可讀存儲介質可以是上述實施例中描述的設備中所包含的;也可以是單獨存在,而未裝配入該設備中。上述計算機可讀存儲介質承載有一個或者多個程序,當上述一個或者多個程序被一個該設備執(zhí)行時,使得該設備:接收承載二維數據的文件;將所接收的文件解析為預定格式的二維數據;以可視化方式將篩選條件提供給用戶,響應于用戶輸入,接收用戶選擇的篩選條件;根據所選擇的篩選條件對二維數據進行清洗;以及將清洗后的二維數據轉換為承載二維數據的文件所需的格式,并生成完成二維數據清洗后的文件。

以上描述的實施例,能夠通過完全可視化的方式使用戶能夠輕松地對二維數據進行清洗,從而大大降低了數據清洗的門檻,提高了效率。使用者既不需要掌握excel自帶的篩選命令和函數公式,也不需要具備自己編寫vba程序的能力,就可以通過直觀的方式完成二維數據清洗的操作。以上描述的實施例還提供了單列運算邏輯、多列運算邏輯和雙列范圍邏輯三種篩選方式,和多種組合方式,例如,與/或運算符和優(yōu)先級選項,通過多種方式來任意組合以上三種邏輯,能夠實現多種數據清洗功能,滿足用戶的多種需求。根據本發(fā)明的方法和系統適用于多種桌面端操作系統,包括但不限于:windows7及以上、macos和linux等,并能夠在這些操作系統上提供一致的操作體驗。

以上描述的附圖中的流程圖和框圖,圖示了按照本申請各種實施例的系統、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,上述模塊、程序段、或代碼的一部分包含一個或多個用于實現規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意,在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個按順序示出的方框實際上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖或流程圖中的每個方框、以及框圖或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。

描述于本申請實施例中所涉及到的模塊或單元可以通過軟件的方式實現,也可以通過硬件的方式來實現。所描述的模塊或單元也可以設置在處理器中,例如,可以描述為:一種處理器包括文件接收模塊/單元、數據解析模塊/單元、用戶接口模塊/單元、數據清洗模塊/單元和數據導出模塊/單元。其中,這些模塊或單元的名稱在某種情況下并不構成對該單元本身的限定,例如,文件接收單元還可以被描述為“接收承載二維數據的文件的單元”。

本領域技術人員可以理解,上述實施方式的全部或部分步驟可以被實現為由cpu執(zhí)行的計算機程序或者指令。在該計算機程序被cpu執(zhí)行時,執(zhí)行本發(fā)明提供的上述方法所限定的上述功能。所述的程序可以存儲于一種計算機可讀存儲介質中,該存儲介質可以是只讀存儲器,磁盤或光盤等。

此外,需要注意的是,上述附圖僅是根據本發(fā)明示例性實施方式的方法所包括的處理的示意性說明,而不是限制目的,上述附圖所示的處理并不表明或限制這些處理的時間順序。另外,可以理解,這些處理可以是,例如,在多個單元中同步或異步執(zhí)行的。

以上具體地示出和描述了本發(fā)明的示例性實施方式。應理解,本發(fā)明不限于本文描述的詳細結構、設置方式或實現方法;本發(fā)明的保護范圍僅由所附權利要求來定義,涵蓋權利要求保護范圍內的各種修改和變形。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
左贡县| 嫩江县| 茂名市| 射洪县| 景泰县| 张掖市| 视频| 新竹县| 建昌县| 陈巴尔虎旗| 凤冈县| 伊宁市| 秭归县| 桂东县| 北碚区| 安丘市| 邵东县| 南昌市| 龙泉市| 合山市| 太仆寺旗| 大理市| 永济市| 新泰市| 祥云县| 广平县| 海伦市| 宜黄县| 兴仁县| 亳州市| 五河县| 巨鹿县| 龙川县| 民丰县| 东乡县| 乐山市| 那曲县| 通许县| 增城市| 调兵山市| 皮山县|