Я пытаюсь использовать Python для генерации CSV файл «расстояния», где я хочу, чтобы дублировать строки другого файла, «результат», как это:Как дублировать строки CSV row_number раз?
Result.csv:
|ID |
|---|
| 1 |
| 2 |
| 3 |
...
расстояния. CSV
|ID1 |ID2 |
|----|----|
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 2 | 1 |
| 2 | 2 |
| 2 | 3 |
...
Вот мой код Python:
with open('distances.csv', 'wb') as ff:
writer = csv.writer(ff, delimiter=";", quoting=csv.QUOTE_ALL)
with open('result.csv', 'rb') as f:
reader = csv.reader(f, delimiter=";", quoting=csv.QUOTE_NONE)
reader2 = csv.reader(f, delimiter=";", quoting=csv.QUOTE_NONE)
for row in reader:
for row2 in reader2:
lst = []
lst.append(row[0])
lst.append(row[1])
lst.append(row2[0])
lst.append(row2[1])
writer.writerow([unicode(s).encode("utf-8") for s in lst])
По какой-то причине он только дублирует первый ряд в result.csv
Заранее спасибо!
Сколько раз мы должны дублировать каждую строку из исходного файла? Как мы получим столбец ID2 (или это просто количество запусков, сколько раз повторяется конкретная строка). –
Извините, что не указывая, столбец ID2 является результатом дублирования идентификаторов строк, поэтому для строки 1 в качестве примера я хочу дублировать все идентификаторы (включая 1, я удалю эти случаи позже). Итак, представьте, что у меня есть 100 строк, я хочу дублировать каждый раз 100 раз. –
Имеет ли смысл иметь такие расстояния, как (1,1), (2,2) и т. Д.? они всегда будут равны нулю? – MaxU