【发布时间】:2015-06-24 17:12:05
【问题描述】:
我正在为 python 2.7 使用 MRJob 模块。我创建了一个继承自 MRJob 的类,并使用继承的映射器函数正确映射了所有内容。
问题是,我想让reducer 函数输出一个.csv 文件...这是reducer 的代码:
def reducer(self, geo_key, info_list):
info_list.insert(0, ['Name,Age,Gender,Height'])
for set in info_list:
yield set
然后我在命令行中运行---> python -m map_csv <inputfile.txt> outputfile.csv
我不断收到此错误,但不明白为什么:
Counters from step 1:
Unencodable output:
TypeError: 785
reducer 中的info_list 参数只是一个列表,其中包含与标头中的类型匹配的各种值的列表
(即
[
['Bill', 28, 'Male',75],
['Emily', 16, 'Female',56],
['Jason', 21, 'Male',63]]
知道这里有什么问题吗?谢谢!
【问题讨论】:
-
你不应该使用
set作为变量名,但这不是问题。 -
你是对的!很好理解。谢谢
标签: python csv output typeerror mrjob