Я использую модуль MRJob для python 2.7. Я создал класс, который наследует от MRJob, и правильно отобразил все, используя унаследованную функцию mapper.Файл MRJob и python - .csv для редуктора?
Проблема, я хотел бы иметь выход функции редуктора файл .csv ... вот код для редуктора:
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
параметр info_list
в редукторе просто список, содержащий списки различных значений, которые соответствуют типам в заголовке (т.
[
['Bill', 28, 'Male',75],
['Emily', 16, 'Female',56],
['Jason', 21, 'Male',63]]
Любая идея, в чем проблема? Благодаря!
Вы не должны использовать 'set' в качестве имени переменной, но это не проблема. – ChrisP
Вы правы! Хороший улов на этом. Спасибо –