Добавление повторяющихся данных в строку - Python
Формулировка задачи:
пример данных:
я написал скрипт, выбирающий по первому полю уникальные строки, чтобы очистить дубликаты. Но, т.к. данные в полях дата1-3 не повторяются. надо сделать в результате:
Мой код тут: Убрать лишний перенос при сохранении .csv
Как добавить новые данные в строку?
id, Name, mail, data1, data2, data3
1, Ivan, mail@ru, abc, 14, de
1, Ivan, mail@ru, fgh, 25, kl
1, Ivan, mail@ru, mno, 38, pq
2, Alex, mail@ru, abc, 14, d
1, Ivan, mail@ru, "abc, 14, de, fgh, 25, kl, mno, 38, pq"
2, Alex, mail@ru, "abc, 14, d"
Решение задачи: «Добавление повторяющихся данных в строку»
textual
Листинг программы
# только для того, чтобы строки выводились в том же порядке,
# что и в входных данных, если это не важно, то использовать
# обычный словарь
from collections import OrderedDict
DATA = """id, Name, mail, data1, data2, data3
1, Ivan, mail@ru, abc, 14, de
1, Ivan, mail@ru, fgh, 25, kl
1, Ivan, mail@ru, mno, 38, pq
2, Alex, mail@ru, abc, 14, d"""
def parse(data):
result = OrderedDict()
for row in data:
id_, name, mail, *data = map(str.strip, row.split(","))
if id_ not in result:
result[id_] = [name, mail]
result[id_].extend(data)
return result
result = parse(DATA.splitlines())
for id_, data in result.items():
print(id_, ", ".join(data))