Найти - Пользователи
Полная версия: Как перевернуть строки в столбцы
Начало » Python для новичков » Как перевернуть строки в столбцы
1
lizzyone
Всем привет!
Дана выгрузка с вопросами и ответами из опросников. Помогите, пожалуйста, написать код, чтобы вопросы перенести в столбцы, а ответы на них заполнить как значения в этих столбцах.

Вот пример как сейчас выглядит таблица:
кандидат вопрос ответ
кандидат_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

Заранее спасибо за помощь!
py.user.next
  
>>> 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
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB