關鍵字提取 從字典中提取資料後,如何實現多欄位排序

2021-10-14 17:27:33 字數 2622 閱讀 3641

例項,下面資料中a列是城市的名稱,後面是三列資料,我們要實現每個城市的新的3個資料計算,回填到指定區域。並實現按"序列6""序列5""序列4""名稱"的四個欄位的先後排序。如何實現呢?

思路分析:在提取資料時候,我們用將類賦值給鍵值的方案,沒有熟悉這方面內容的朋友要看看我之前的文章再學習一下有關將類作為鍵值的方法。我們將a列的資料作為鍵,把b,c,d列的內容作為鍵值的屬性來處理。在資料回填的時候,可以直接進行運算,並回填。在實現多關鍵字排序的時候,我們利用從後往前多次排序的方案,考慮用乙個迴圈來解決,由於用到多個關鍵字段,可以考慮用offset函式。下面看我給出的**:

sub mynzsz_67() '第67講 從字典提取資料後,實現多欄位排序

sheets("67").select

dim uu as myitem

myarr = range("a2:d" & range("a1").end(xldown).row)

set mydic = createobject("scripting.dictionary")

'將資料裝入字典,鍵值是類,利用類的屬性完成字典資料的賦值

for i = 1 to ubound(myarr)

set uu = new myitem

uu.ido = myarr(i, 2)

uu.idt = myarr(i, 3)

uu.ids = myarr(i, 4)

mydic.add myarr(i, 1), uu

set uu = nothing

next

[f:i].clearcontents: [f1:i1] = array("名稱", "序列4", "序列5", "序列6")

'回填過程中利用類屬性取得資料

i = 2

for each k in mydic.keys

cells(i, "f") = k

cells(i, "g") = mydic(k).ido + mydic(k).idt

cells(i, "h") = mydic(k).idt + mydic(k).ids

cells(i, "i") = mydic(k).idt * mydic(k).ids

i = i + 1

next

set mydic = nothing

'獲取排序的單元格區域,實現4欄位排序

r = sheets("67").range("f1").currentregion.rows.count

set rngs = sheets("67").range(cells(1, "f"), cells(r, "i"))

for i = 9 to 6 step -1

rngs.sort key1:=sheets("67").range("f1").offset(, i - 6), order1:=xlascending, header:=xlyes

next

end sub

**截圖:

**講解:

1 上述**實現了利用類作為鍵值的字典資料裝載方案。set uu = new myitem, uu.ido = myarr(i, 2),uu.idt = myarr(i, 3),uu.ids = myarr(i, 4)這裡定義了類的三個屬性,然後將uu賦給鍵值,提取資料的時候,就直接提取類的屬性。資料回填後,要實現多欄位關鍵字的排序,可是sort排序只能實現3個關鍵字段的排序,這裡是4個字段,我們就利用了迴圈來實現,每次實現乙個關鍵字段的排序,這樣就完成了多關鍵字段的排序。

2 for i = 1 to ubound(myarr)

set uu = new myitem

uu.ido = myarr(i, 2)

uu.idt = myarr(i, 3)

uu.ids = myarr(i, 4)

mydic.add myarr(i, 1), uu

set uu = nothing

next

實現類和類屬性的賦值,並裝載字典。

2 set rngs = sheets("67").range(cells(1, "f"), cells(r, "i"))

for i = 9 to 6 step -1

rngs.sort key1:=sheets("67").range("f1").offset(, i - 6), order1:=xlascending, header:=xlyes

next

上述**實現多欄位排序,第一次ragne("f1")向右3個單元格後的關鍵字段,第二次ragne("f1")向右2個單元格後的關鍵字段,第三次ragne("f1")向右1個單元格後的關鍵字段,第一次ragne("f1")向右0個單元格後的關鍵字段,這樣就實現了四個關鍵字段的排序。

下面我們看**執行:

今日內容回向:

1 如何實現四個關鍵字段的排序?

2 將類賦值給鍵值的方案是否理解呢?

關鍵字 EXCEL關鍵字提取

如何根據關鍵字列表將單元格中的關鍵字提取出來,本文提供三種方法,看哪一種適合你!開啟excel 表,內容如下 a列為需要提取關鍵字的內容 f列為關鍵字列表 bcd為三種方法演示 方法一 公式 if sumproduct countif a2,f 2 f 13 lookup 0 frequency 0...

python 關鍵字提取

jieba 關鍵字提取 import jieba.analyse tags jieba.analyse.extract tags str,topk 3 str是提取關鍵字的內容,topk是提取關鍵字數 print join tags tf idf關鍵字提取 是用於資訊檢索和文字挖掘的加權技術。是評估...

關鍵字提取演算法TF IDF

在文字分類的學習過程中,在 如何衡量乙個關鍵字在文章中的重要性 的問題上,遇到了困難。在網上找了很多資料,大多數都提到了這個演算法,就是今天要講的tf idf。總起 tf idf,理解起來相當簡單,他實際上就是tf idf,兩個計算值的乘積,用來衡量乙個詞庫中的詞對每一篇文件的重要程度。下面我們分開...