У меня возникли проблемы с сохранением списков в py

#python #arrays #list #csv #file

Вопрос:

 chunk.append(int(x))  if z == 30:  z = 0  write.writerow(chunk)  chunk = []  

таким образом, я могу сохранить список в строках по 30, но он сохраняет, как

 0,0,0,39,0,0,1,1,1,1,1,1,1,10,6,6,8,0,0,1,1,1,1,1,0,0,0,39,0,0,0,39,0,0  0,0,0,0,1,1,1,1,1,1,1,10,6,6,8,0,0,1,1,1,1,1,0,0,0,39,0,0,0,39,0,0  0,0,39,1,1,1,1,1,1,1,0,0,27,14,9,9,13,1,1,1,1,1,0,27,0,0,0,0,39,0,0,0,39,0,0  

когда я хочу, чтобы это сохранялось, как

 0,0,0,39,0,0,1,1,1,1,1,1,1,10,6,6,8,0,0,1,1,1,1,1,0,0,0,39,0,0,0,39,0,0 0,0,0,0,1,1,1,1,1,1,1,10,6,6,8,0,0,1,1,1,1,1,0,0,0,39,0,0,0,39,0,0 0,0,39,1,1,1,1,1,1,1,0,0,27,14,9,9,13,1,1,1,1,1,0,27,0,0,0,0,39,0,0,0,39,0,0  

Я уверен, что ответ, вероятно, очень очевиден, и блок кода, который я написал, вероятно, действительно плох, но я действительно новичок, поэтому любые указания на что-либо, пожалуйста, дайте мне знать

Комментарии:

1. У вас есть дополнительные пустые строки между строками или что-то еще изменилось? Вы абсолютно уверены, что это так?

2. Это заявление о печати списка paste.pythondiscord.com/eyivutuqit.json Я добавил печать после записи.writerow(фрагмент)

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

Ответ №1:

Вы можете удалить символ новой строки, открыв файл и установив newline свойство.

 with open("file.csv", "w", newline="", encoding="utf-8") as f:  write = csv.writer(f)   chunk.append(int(x))  if z == 30:  z = 0  write.writerow(chunk)  chunk = []