Я пишу файл csv, который добавляет данные в строки, подобные этому
но хочу, чтобы это было так
У меня есть список [], где я добавляю данные и использую их для записи файла:
def writefiles(alldata, filename):
with open ("./"+ filename, "w") as csvfile:
csvfile = csv.writer(csvfile, delimiter=",")
csvfile.writerow("")
for i in range(0, len(alldata)):
csvfile.writerow(alldata[i])
writefiles(alldata, "Data.csv")
Как я могу это сделать?
Вы можете преобразовать свою alldata
в желаемый формат с помощью itertools.groupby
:
from itertools import groupby, chain
from operator import itemgetter
writefiles([[k, *chain.from_iterable(r for _, *r in g)] for k, g in groupby(alldata, key=itemgetter(0))], "Data.csv")
writefiles(alldata, "Data.csv")
на мой код.