在 Python 中将新行附加到 CSV 文件

Najwa Riyaz 2023年1月30日
  1. 使用 writer.writerow() 将列表中的数据附加到 Python 中的 CSV 文件
  2. 使用 DictWriter.writerow() 将字典中的数据附加到 Python 中的 CSV 文件
在 Python 中将新行附加到 CSV 文件

如果你希望在 Python 中将新行附加到 CSV 文件中,你可以使用以下任何一种方法。

  1. 将所需行的数据分配到列表中。然后,使用 writer.writerow() 将此列表的数据附加到 CSV 文件。
  2. 将所需行的数据分配到字典中。然后,使用 DictWriter.writerow() 将此字典的数据附加到 CSV 文件中。

使用 writer.writerow() 将列表中的数据附加到 Python 中的 CSV 文件

在这种情况下,在我们将新行附加到旧 CSV 文件之前,我们需要将行值分配给一个列表。

例如,

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

接下来,将 List 中的数据作为参数传递给 CSV writer() 对象的 writerow() 函数。

例如,

csvwriter_object.writerow(list)

先决条件:

  • CSV writer 类必须从 CSV 模块导入。
    from csv import writer
    
  • 在运行代码之前,必须手动关闭 CSV 文件。

示例 - 使用 writer.writerow() 将列表中的数据附加到 CSV 文件

这是一个代码示例,显示了如何将列表中存在的数据附加到 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

使用 DictWriter.writerow() 将字典中的数据附加到 Python 中的 CSV 文件

在这种情况下,在我们将新行附加到旧 CSV 文件之前,将行值分配给字典。

例如,

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

接下来,将字典中的这些数据作为参数传递给字典 DictWriter() 对象的 writerow() 函数。

例如,

dictwriter_object.writerow(dict)

先决条件:

  • DictWriter 类必须从 CSV 模块导入。
    from csv import DictWriter
    
  • 在运行代码之前,必须手动关闭 CSV 文件。

示例 - 使用 DictWriter.writerow() 将字典中的数据附加到 CSV 文件

下面是一个代码示例,它展示了如何将字典中存在的数据附加到 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