如何将结果(从python)写入mongodb(在json中)?

时间:2014-05-12 07:18:34

标签: python json mongodb import

我现在正在写一份工作到工作清单。对于JobID,我想要输出类似的工作(按自定义的分数降序排列)。例如,结构应该是:

"_id":"abcd","job":1234,"jobList":[{"job":1,"score":0.9},{"job":2,"score":0.8},{"job":3,"score":0.7}]}

此处JobID为1234,作业1,2,3是按名称 - 分数对列出的类似作业。 我的python代码是:

def sortSparseMatrix(m, rev=True, only_indices=True):
    f=open("/root/workspace/PythonOutPut/test.json",'wb')
    w=csv.writer(f,dialect='excel')
    col_list = [None] * (m.shape[0])
    j=0
    for i in xrange(m.shape[0]):

        d=m.getrow(i)

        if len(d.indices) != 0:
            s=zip(d.indices, d.data)
            s.sort(key=lambda v:v[1], reverse=True)
            if only_indices:
                col_list[j] =[[element[0],element[1]] for element in s]
                col_list[j]=col_list[j][0:4]

                h1 = u'Job'+":" +str(col_list[j][0][0])+","
                json.dump(h1,f)



                h2=[]
                h3=u'JobList'+":"
                json.dump(h3,f)
                for subrow in col_list[j][1:]:
                   h2.append(u'{Job'+":"+str(subrow[0])+","u'score'+":"+str(subrow[1])+"}")
                json.dump(h2,f)
                del col_list[j][:]
                j=j+1

其中d包含与JobID相关的未排序的名称 - 得分对:col_list[j][0][0](排序后,JobID(col_list[j][0][0])最相似的作业(得分最高)本身).d.data是得分和[element[0],element[1]]是名称 - 得分对。我想保留最相似的三个职位w.r.t.作业ID。我想首先转储h1(显示JobID),然后在h2中输出类似作业的列表。

我键入'mongodbimport --db test_database - 集合TestOfJSON --type csv --file /如上/ --fields JobList'。它可以将结果导入mongodb。但是,它只有一个具有许多字段的JobID。但我想要的是JobID只与其类似的Job的名字 - 分数对相关联。我应该怎么做?感谢

0 个答案:

没有答案