当前位置: 首页 > 知识库问答 >
问题:

字数统计:化简器蟒蛇程序抛出价值错误

厉钊
2023-03-14

每当我试图在Hadoop系统中运行Reducer python程序时,我都会得到这个错误。尽管如此,映射程序运行得很好。授予了与我的映射程序相同的权限。有语法错误吗?

回溯(最近一次调用最后一次):文件“reducer.py”,第13行,换句话说,count=line。拆分(“\t”,1)值错误:需要多个值才能解包

            #!/usr/bin/env python
            import sys

            # maps words to their counts
            word2count = {}

            # input comes from STDIN
            for line in sys.stdin:
                # remove leading and trailing whitespace
                line = line.strip()

                # parse the input we got from mapper.py
                word, count = line.split('\t', 1)
                # convert count (currently a string) to int
                try:
                    count = int(count)
                except ValueError:
                    continue

                try:
                    word2count[word] = word2count[word]+count
                except:
                    word2count[word] = count

            # write the tuples to stdout
            # Note: they are unsorted
            for word in word2count.keys():
                print '%s\t%s'% ( word, word2count[word] )

共有3个答案

柴砚文
2023-03-14

我把行.split('\t', 1) 改成了行.split(' ', 1)并且它起作用了。
似乎空间不清晰,要完全清楚:它应该是line.split('(这里一个空格)',1)

施华奥
2023-03-14

我无法详细回答。

然而,我解决了我在删除我在< code>mapper中添加的一些额外的< code>print时遇到的相同问题。这可能与< code>print如何为< code>sys.stdin工作有关。

我知道你现在可能已经解决了这个问题

吕作人
2023-03-14

错误 ValueError:当您执行右侧值太少的多重赋值时,会引发多个值来解包。所以看起来中没有\t,所以行.split('\t',1)导致单个值,导致单词,计数=(“foo”,)。

 类似资料:
  • 假设带有键“the”、“声音”、“is”的键值对由化简器 1 处理,而具有键“it”、“right”、“声音”的键值对由化简器 2 处理。 两台减速机的输出是多少? 每个减速机的输出文件会被排序然后组合然后再次排序吗? 当减速机收到它们时,它是否已经按字母顺序排序,以便减速机1收到“is”、“it”、“right”,减速机2收到“the”、“声”、“声”?

  • 我正在运行Ubuntu 18.04。 我使用mysql连接器-python连接Python到MySQL。 我使用的是Python 3.6.7,并且已经安装了mysql连接器-python。 我已经安装了mysql连接器-python-py3_8.0.13-1ubuntu18.10_all.deb. 在运行Python脚本时,mysql。连接器模块似乎加载正确,但脚本在碰到光标时失败。next()具

  • 假设我有一些资源,我想在用python编写的aws lambda中的不同请求之间共享。我应该如何实现这一点? 是否有“启动后”挂钩,或者我应该在第一次调用时惰性地创建资源?“延迟初始化”的缺点是,它意味着一些请求会随机变慢,因为您选择了一个消费者来承担启动成本。 此外…这些资源会在lambda可执行文件被“冻结”后幸存下来吗? 本页https://docs.aws.amazon.com/lambd

  • 我想定义一个返回树节点值列表的函数。列表按级别顺序排列(从上到下,从左到右),如果缺少孩子,则在其位置插入“无”。 这是二叉树实现

  • 这是发生的错误。这是一个简单的程序计算文件的输入次数,但出现了这个错误。即使结果相同,我也将文件保存在代码中提到的两个位置。

  • 计算特定目录中所有,,,和文件的总页数;但我对如何计算幻灯片有点困惑。 这是我尝试过的: 此外,我尝试使用python-pptx,但收到了lxml错误(因此尝试构建我自己的lxml;这在icon v依赖问题上出错)。此外,由于它只支持pptx,我需要为ppt找到另一种方法。PowerPoint 2013 x64已安装,我使用的是Python 2.7.4 x64。