Почему при записи csv из связанного списка Python реализована пустая строка по умолчанию?

У меня есть пример написания CSV из связанного списка python:

import csv

# field names 
fields = ['Name', 'Branch', 'Year', 'CGPA'] 

# data rows of csv file 
rows = [ ['Nikhil', 'COE', '2', '9.0'], 
     ['Sanchit', 'COE', '2', '9.1'], 
     ['Aditya', 'IT', '2', '9.3'], 
     ['Sagar', 'SE', '1', '9.5'], 
     ['Prateek', 'MCE', '3', '7.8'], 
     ['Sahil', 'EP', '2', '9.1']] 

with open('Test.csv', 'w') as f:
 
# using csv.writer method from CSV package
 
    write = csv.writer(f)
    write.writerow(fields)
    write.writerows(rows)

Это работает нормально, за исключением того, что у меня есть следующий результат:

Name,Branch,Year,CGPA

Nikhil,COE,2,9.0

Sanchit,COE,2,9.1

Aditya,IT,2,9.3

Sagar,SE,1,9.5

Prateek,MCE,3,7.8

Sahil,EP,2,9.1

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

Почему по умолчанию есть дополнительная строка? Какова его цель, если ее нет во входных данных?

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

SIGHUP 29.02.2024 10:52

Что находится в верхнем поле, которое я запускаю в своем блокноте. Пожалуйста, объясните, какой код отсутствует, я его предоставлю.

Bending Rodriguez 29.02.2024 10:54

Вы не сможете запустить этот код. Первый аргумент open() недействителен. Ваши попытки записи в файл не отмечаются значком

SIGHUP 29.02.2024 10:59

да, перед ' отсутствует Test.csv, и следующие строки кода должны быть с отступом

RamsesII 29.02.2024 11:01

ОК, я вырезал строку пути в целях безопасности данных. я вижу, что это технически неправильно, банкомат

Bending Rodriguez 29.02.2024 11:01

@MrIrrelevant Вы тоже вырезали отступ? Пожалуйста, просмотрите: MRE

SIGHUP 29.02.2024 11:02

да, я случайно вырезал отступ

Bending Rodriguez 29.02.2024 11:02
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
3
7
66
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете добавить newline = '' в свой писательский раздел:

import csv

fields = ['Name', 'Branch', 'Year', 'CGPA']
rows = [['Nikhil', 'COE', '2', '9.0'],
        ['Sanchit', 'COE', '2', '9.1'],
        ['Aditya', 'IT', '2', '9.3'],
        ['Sagar', 'SE', '1', '9.5'],
        ['Prateek', 'MCE', '3', '7.8'],
        ['Sahil', 'EP', '2', '9.1']]

with open('Test.csv', 'w', newline = '') as f:
    writer = csv.writer(f)
    writer.writerow(fields)
    writer.writerows(rows)

Другие вопросы по теме