Форум сайта python.su
Всем привет!
Дана выгрузка с вопросами и ответами из опросников. Помогите, пожалуйста, написать код, чтобы вопросы перенести в столбцы, а ответы на них заполнить как значения в этих столбцах.
Вот пример как сейчас выглядит таблица:
кандидат вопрос ответ
кандидат_1 вопрос_1 ответ_1_1
кандидат_1 вопрос_2 ответ_1_2
кандидат_1 вопрос_3 ответ_1_3
кандидат_2 вопрос_1 ответ_2_1
кандидат_2 вопрос_2 ответ_2_2
кандидат_2 вопрос_3 ответ_2_3
кандидат_3 вопрос_1 ответ_3_1
кандидат_3 вопрос_2 ответ_3_2
кандидат_3 вопрос_3 ответ_3_3
А вот какую таблицу нужно получить:
кандидат вопрос_1 вопрос_2 вопрос_3
кандидат_1 ответ_1_1 ответ_1_2 ответ_1_3
кандидат_2 ответ_2_1 ответ_2_2 ответ_2_3
кандидат_3 ответ_3_1 ответ_3_2 ответ_3_3
Заранее спасибо за помощь!
Офлайн
>>> import itertools >>> >>> text = """\ ... кандидат_1 вопрос_1 ответ_1_1 ... кандидат_1 вопрос_2 ответ_1_2 ... кандидат_1 вопрос_3 ответ_1_3 ... кандидат_2 вопрос_1 ответ_2_1 ... кандидат_2 вопрос_2 ответ_2_2 ... кандидат_2 вопрос_3 ответ_2_3 ... кандидат_3 вопрос_1 ответ_3_1 ... кандидат_3 вопрос_2 ответ_3_2 ... кандидат_3 вопрос_3 ответ_3_3 ... """ >>> >>> lst = [i.split() for i in text.splitlines()] >>> lst.sort() >>> >>> table = [] >>> for item, group in itertools.groupby(lst, key=lambda i: i[0]): ... line = [item] + [i[-1] for i in group] ... table.append(line) ... >>> out = '\n'.join(map(' '.join, table)) >>> print(out) кандидат_1 ответ_1_1 ответ_1_2 ответ_1_3 кандидат_2 ответ_2_1 ответ_2_2 ответ_2_3 кандидат_3 ответ_3_1 ответ_3_2 ответ_3_3 >>>
Отредактировано py.user.next (Янв. 24, 2024 05:09:27)
Офлайн