python的字符串以及對應向量的遍歷,並導入csv

通過word2vector建立語料模型model後,想要得出所有model的詞以及對應向量座標。我想要的效果是對應的詞後面有對應的20個向量代表的座標,可以輕鬆寫入dict,但是幾千個語料詞需要通過Excel看,因此可以將數據全部導入csv格式:
首先,需要在model中一個詞遍歷全部向量,因爲單單model[‘word’]得到的向量往往會在python中顯示不全,以…代表了,所以要去掉省略號的話,需要將每一個word的向量再遍歷。

def vec(x,model):#x是model中的每一個維度或者就叫語料的詞
    p=model[x]   #p是每一個維度/詞的向量座標
    st=[{x}]     #將詞x變成一個整體的list
    for i in p:   
    #遍歷x的所有向量,並且添加在x詞後,成一個list
      st.append(i)
    return st

剛開始菜鳥如我,字符串x想要變成一個list後面以便append數組,結果發現字符串如果要變成list會導致一個詞如:‘北京’,變成list=[‘北‘,’京’]。所以菜鳥這般地打算先把str變成一個tuple,然後再整體list。

最後,得到的這個st就是有單詞,後面加向量的數據表。然後將之保存爲csv,代碼如下:

v=[]
Di=[]
for x in word:
    y=vec(x,model)
    Di.append(y) #得到所有詞以及對應的所有向量 
with open('測試數據.csv','w') as cf:
    cW=csv.writer(cf,delimiter=',')
    for x in Di:
        cW.writerow(x)
        cf.close

嗯,這次主要就是發現字符串不分割的情況,可以通過tuple轉list實現;另外,就是list保存爲csv其實用的是csv.writer。吖,廢話太多。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章