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。吖,废话太多。。

你可能感兴趣的:(Python)