2016-01-15 3 views
-1

Я новичок в питоне. Когда моя программа работает, я получаю данные цикла while, который сохраняется в файле csv. Однако результаты будут перезаписаны в первой строке. Таким образом, файл имеет только последний выход.мои результаты написаны только в первой строке

 csv_out = open('results.csv', 'w') 
     mywriter = csv.writer(csv_out, delimiter=';') 
     rows = zip(k, l, m, h, c, n, r) 
     mywriter.writerows(rows) 
     num+=1 
     csv_out.close() 

Пример отпечатков:

['100 ', '1', 'a', '2', '0', '223', 'x'] 

['250', '5', 'b', '1', '0', '10', 'z'] 

results.csv только имеет ряд 250; 5, б; 1; 0; 10; г. Благодарю.

+0

Отступ недействителен, и у вас нет оператора печати, поэтому сценарий не может выдавать выведенный пример. Можете ли вы очистить это достаточно, чтобы показать нам код, который вы фактически используете, который терпит неудачу? если его что-то простое, как цикл while в неправильном месте, мы не можем его обнаружить, если мы не получим правильный код. – tdelaney

ответ

0

Вы каждый раз открываете файл для записи, что означает, что вы переписываете содержимое каждой новой строкой.

Вы либо открыть файл с режимом a вместо w для добавления к нему, или предпочтительно открыть файл вне цикла, затем записать его и закрыть его после цикла.

Последний предпочтительнее, так как открытие файла в режиме добавления может привести к нежелательному контенту, если файл существует.

+0

OP делает 'authorows' и не имеет петли. – tdelaney

+0

@tdelaney говорят, что они получают результаты от цикла while, и, как вы видите, есть только один результат в вызове. Ясно, что это не весь код –

+0

@Sami Kuhmonen Спасибо! Это была моя ошибка. – Ignacio

0

Попробуйте «a» (добавить) вместо «w» (написать).

+0

Почему? OP создает файл и выполняет 'authorows'. Это нормально. Если он не обновит свой примерный код, мы не можем сделать такое предположение. – tdelaney

+0

Я интерпретировал его дескриптор проблемы, а не вдавался в подробности о его коде, который, по его словам, не закончен и, очевидно, ...;), так что да, я осмелюсь сделать это предположение;) –