Мне был предоставлен большой файл CSV, который мне нужно разбить для использования в машинах. Мне удалось найти способ разделения файла на две строки, которые мне нужны, но у меня есть проблема.Как объединить несколько строк в CSV в одну строку
У меня в основном такая файловая структура.
"David", "Red"
"David", "Ford"
"David", "Blue"
"David", "Aspergers"
"Steve", "Red"
"Steve", "Vauxhall"
И я требую, чтобы данные выглядеть следующим образом ...
"David, "Red", "Ford", "Blue", "Aspergers"
"Steve", "Red", "Vaxhaull"
я в настоящее время это обирать файлы CSV
import csv
cr = csv.reader(open("traits.csv","rb"), delimiter=',', lineterminator='\n')
cr.next() #skipping header line, no point in removing it as I need to standardise data manipuation.
# Print out the id of species and trait values
print 'Stripping input'
vals = [(row[1], row[4]) for row in cr]
print str(vals) + '\n'
with open("output.csv", "wb") as f:
writer = csv.writer(f)
writer.writerows(vals)
print 'Sucessfully written to file output.csv'
#for row in cr:
#print row
В настоящее время я получаю вывод. 'AttributeError: объект 'list' не имеет атрибута 'setdefault' – KeironO
@KeironO Возможно, у вас есть список с именем' d' (и определено после d = {} '), я меняю его имя! попробуйте отредактированный ответ! – Kasramvd
Я все еще смущен тем, как я могу интегрировать это в свою собственную программу. Кажется, он работает, но не распечатывает 4-й ряд? (только 1-й) – KeironO