Добавить новую строку в файл CSV в Python

  1. Добавить данные из списка в файл CSV в Python с помощью writer.writerow()
  2. Добавить данные из словаря в файл CSV на Python с помощью DictWriter.writerow()

Если вы хотите добавить новую строку в файл CSV на Python, вы можете использовать любой из следующих методов.

  1. Назначьте данные нужной строки в список. Затем добавьте данные этого списка в файл CSV с помощью writer.writerow().
  2. Добавьте данные нужной строки в Словарь. Затем добавьте данные этого словаря в файл CSV с помощью DictWriter.writerow().

Добавить данные из списка в файл CSV в Python с помощью writer.writerow()

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

Например,

list=['4','Alex Smith','Science']

Затем передайте эти данные из списка в качестве аргумента функции writerow() объекта CSV writer().

Например,

csvwriter_object.writerow(list)

Предварительные условия:

  • Класс writer CSV должен быть импортирован из модуля CSV.
    from csv import writer
    
  • Перед запуском кода файл CSV необходимо закрыть вручную.

Пример - добавить данные из списка в файл CSV с помощью writer.writerow()

Вот пример кода, который показывает, как можно добавить данные, представленные в списке, в файл CSV:

# Pre-requisite - Import the writer class from the csv module
from csv import writer
  
# The data assigned to the list 
list_data=['03','Smith','Science']
  
# Pre-requisite - The CSV file should be manually closed before running this code.

# First, open the old CSV file in append mode, hence mentioned as 'a'
# Then, for the CSV file, create a file object
with open('CSVFILE.csv', 'a', newline='') as f_object:  
    # Pass the CSV  file object to the writer() function
    writer_object = writer(f_object)
    # Result - a writer object
    # Pass the data in the list as an argument into the writerow() function
    writer_object.writerow(list_data)  
    # Close the file object
    f_object.close()

Предположим перед запуском кода; старый файл CSV содержит следующее содержимое.

ID,NAME,SUBJECT
01,Henry,Python
02,Alice,C++

После запуска кода CSV-файл будет изменен.

ID,NAME,SUBJECT
01,Henry,Python
02,Alice,C++
03,Smith,Science

Добавить данные из словаря в файл CSV на Python с помощью DictWriter.writerow()

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

Например,

dict={'ID':5,'NAME':'William','SUBJECT':'Python'}

Затем передайте эти данные из словаря в качестве аргумента функции writerow() объекта словаря DictWriter().

Например,

dictwriter_object.writerow(dict)

Предварительные условия:

  • Класс DictWriter необходимо импортировать из модуля CSV.
    from csv import DictWriter
    
  • Перед запуском кода файл CSV необходимо закрыть вручную.

Пример - Добавление данных из словаря в файл CSV с помощью DictWriter.writerow()

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

# Pre-requisite - Import the DictWriter class from csv  module
from csv import DictWriter
  
# The list of column names as mentioned in the CSV file
headersCSV = ['ID','NAME','SUBJECT']      
# The data assigned to the dictionary 
dict={'ID':'04','NAME':'John','SUBJECT':'Mathematics'}
  
# Pre-requisite - The CSV file should be manually closed before running this code.

# First, open the old CSV file in append mode, hence mentioned as 'a'
# Then, for the CSV file, create a file object
with open('CSVFILE.csv', 'a', newline='') as f_object:
    # Pass the CSV  file object to the Dictwriter() function
    # Result - a DictWriter object
    dictwriter_object = DictWriter(f_object, fieldnames=headersCSV)
    # Pass the data in the dictionary as an argument into the writerow() function
    dictwriter_object.writerow(dict)
    # Close the file object
    f_object.close()

Предположим, что перед запуском кода старый файл CSV содержит следующее содержимое.

ID,NAME,SUBJECT
01,Henry,Python
02,Alice,C++
03,Smith,Science

После запуска кода CSV-файл будет изменен.

ID,NAME,SUBJECT
01,Henry,Python
02,Alice,C++
03,Smith,Science
04,John,Mathematics

Сопутствующая статья - Python CSV

  • Чтение CSV в массив на Python