Появляются пустые строки при просмотре .csv файла
При заполнение файла, при большом кол-ве элементов появляются пустые строки, хотя в списке элемент присутствует, возможно ли решить проблему без подключения доп. библиотек и без удаления пустой строки
import csv
import random
def generation(countRow):
def randomTrain(arTrain):
idTrain = random.randint(1, 99999)
if idTrain not in arTrain:
arTrain.append(idTrain)
return idTrain
else:
randomTrain(arTrain)
with open("tester.csv", 'w', newline="") as csv_file:
# head = ["Город", "Номер", "Время"]
head = ["id"]
file_writer = csv.writer(csv_file, delimiter=";", lineterminator="\r")
file_writer.writerow(head)
haveCount = 1
newAr = []
while haveCount != countRow:
file_writer.writerow([randomTrain(newAr)])
haveCount += 1
#print(newAr)
generation(1000)
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
else:
randomTrain(arTrain)
В этом случае функция ничего не вернёт, то есть вернёт None. А судя по всему нужно, чтобы при заходе в рекурсию функция возвращала её результат:
else:
return randomTrain(arTrain)
^^^^^^
А вообще лучше всегда делать без рекурсии. Например, так:
def randomTrain(arTrain):
while True:
idTrain = random.randint(1, 99999)
if idTrain not in arTrain:
arTrain.append(idTrain)
return idTrain

