Couchdb-python:如何调用map\u-reduce函数中的函数?

Couchdb-python:如何调用map\u-reduce函数中的函数?,couchdb,couchdb-python,Couchdb,Couchdb Python,我想调用一些函数,但我不知道如何导入包。我试了一下,但失败了。我该怎么办?(我想使用一些第三方软件包来分析每个文档,下面的代码只是一个测试) 请,如果你知道答案 import couchdb as db import datetime couch = db.Server() d1 = couch['test'] def map(doc): text = doc['text'] ti = doc['timestamp_ms'] ti = ti[:10] + '.' +

我想调用一些函数,但我不知道如何导入包。我试了一下,但失败了。我该怎么办?(我想使用一些第三方软件包来分析每个文档,下面的代码只是一个测试)

请,如果你知道答案

import couchdb as db
import datetime

couch = db.Server()

d1 = couch['test']

def map(doc):
    text = doc['text']
    ti = doc['timestamp_ms']
    ti = ti[:10] + '.' + ti[10:]
    dateArray = datetime.datetime.utcfromtimestamp(float(time))
    if (dateArray.time().hour < 12):
            yield ["am"], text
    else:
            yield ["pm"], text

for row in d1.query(map, descending=True, language='python'):
        print row.key, row.value
将couchdb导入为db
导入日期时间
coach=db.Server()
d1=沙发[“测试”]
def地图(文档):
text=doc['text']
ti=doc['timestamp_ms']
ti=ti[:10]+'.+ti[10:]
dateArray=datetime.datetime.utcfromtimestamp(浮点(时间))
如果(dateArray.time().hour<12):
收益率[“am”],文本
其他:
产量[“pm”],文本
对于d1.query(map,descending=True,language='python')中的行:
打印row.key,row.value

只有在map函数中导入datetime,才能在map函数中使用datetime。因此,您的示例如下所示-


    def map(doc):
        text = doc['text']
        ti = doc['timestamp_ms']
        ti = ti[:10] + '.' + ti[10:]
        from datetime import datetime
        dateArray = datetime.utcfromtimestamp(float(time))
        if (dateArray.time().hour

def地图(文档):
text=doc['text']
ti=doc['timestamp_ms']
ti=ti[:10]+'.+ti[10:]
从日期时间导入日期时间
dateArray=datetime.utcfromtimestamp(浮点(时间))
if(dateArray.time().hour
但是,您不能在map函数中加载第三方库-
[[{initial_call,
       {couch_os_process,init,['Argument__1']}},
      {pid,<0.14643.4>},
      {registered_name,[]},
      {error_info,
       {exit,
        {function_clause,
         [{couch_os_process,handle_info,
           [{#Port<0.13927>,
             {data,
              {eol,
               <<"{\"log\": \"Traceback (most recent call last):\n  File \\"/usr/local/lib/python2.7/dist-packages/couchdb/view.py\\", line 79, in map_doc\n    results.append([[key, value] for key, value in function(doc)])\n  File \\"\\", line 5, in map\nImportError: No module named nose\n\"}">>}}},
            {os_proc,"couchpy",#Port<0.13927>,
             #Fun,
             #Fun,5000}]},
          {gen_server,handle_msg,5},
          {proc_lib,init_p_do_apply,3}]},
        [{gen_server,terminate,6},
         {proc_lib,init_p_do_apply,3}]}},

[{初始呼叫, {coach_os_进程,init,['Argument__1']}, {pid,}, {注册名称,[]}, {错误信息, {退出, {function_子句, [{coach_os_进程,处理信息, [{#港口, {数据, {eol, }}}, {os_proc,“couchpy”,#Port, #有趣, #有趣,5000}]}, {gen_server,handle_msg,5}, {proc_lib,init_p_do_apply,3}]}, [{gen_server,terminate,6}, {proc_lib,init_p_do_apply,3}]}

如果您直接在主机python安装上安装第三方库,而不是在虚拟环境中安装,您可能可以这样做。但是,我不推荐这种做法。请始终使用虚拟环境