如何将新行附加到现有的 csv 文件?
要将新行附加到现有 CSV 文件,我们有很多方法可以做到这一点。在这里,我们将讨论有效执行此任务的 2 种方法。因此,我们有两种方法,第一种是“将列表作为新行添加到现有 CSV 文件中”,第二种方法是“将字典作为新行添加到现有 CSV 文件中”。
首先,让我们看看我们现有的 CSV 文件内容。假设我们有一个包含以下内容的 CSV 文件 event.csv。
为了编写 CSV 文件,CSV 模块提供了两个不同的类 writer 和 Dictwriter。
将列表作为新行附加到现有 CSV 文件
让我们看看如何使用 writer 类将列表作为新行附加到现有的 CSV 文件中。有几个步骤可以做到这一点。
- 从 csv 模块导入编写器类
- 以追加模式打开现有的 CSV 文件
为这个文件创建一个文件对象。 - 将此文件对象传递给 csv.writer() 并获得一个 writer 对象。
- 将列表作为参数传递给 writer 对象的 writerow()函数。
(它会将列表作为新行添加到 CSV 文件中)。 - 关闭文件对象
让我们将一个列表添加为新行。
List=[6,'William',5532,1,'UAE']
现在将上述步骤应用到程序中。
Python3
# Import writer class from csv module
from csv import writer
# List
List=[6,'William',5532,1,'UAE']
# Open our existing CSV file in append mode
# Create a file object for this file
with open('event.csv', 'a') as f_object:
# Pass this file object to csv.writer()
# and get a writer object
writer_object = writer(f_object)
# Pass the list as an argument into
# the writerow()
writer_object.writerow(List)
#Close the file object
f_object.close()
Python3
# Import DictWriter class from CSV module
from csv import DictWriter
# list of column names
field_names = ['ID','NAME','RANK',
'ARTICLE','COUNTRY']
# Dictionary
dict={'ID':6,'NAME':'William','RANK':5532,
'ARTICLE':1,'COUNTRY':'UAE'}
# Open your CSV file in append mode
# Create a file object for this file
with open('event.csv', 'a') as f_object:
# Pass the file object and a list
# of column names to DictWriter()
# You will get a object of DictWriter
dictwriter_object = DictWriter(f_object, fieldnames=field_names)
#Pass the dictionary as an argument to the Writerow()
dictwriter_object.writerow(dict)
#Close the file object
f_object.close()
输出:
当你执行这个程序时,确保你的 CSV 文件必须关闭,否则这个程序会给你一个权限错误。
将字典作为新行附加到现有 CSV 文件中
让我们看看如何使用 DictWriter 类将字典作为新行附加到现有的 CSV 文件中。有几个步骤可以做到这一点。
- 从 CSV 模块导入 DictWriter 类。
- 以追加模式打开您的 CSV 文件
为这个文件创建一个文件对象。 - 将文件对象和列名列表传递给 DictWriter()
你会得到一个 DictWriter 对象。 - 将字典作为参数传递给 DictWriter 的 Writerow()函数
(它将向 CSV 文件添加一个新行)。 - 关闭文件对象
让我们以一个我们想要添加为新行的字典为例。
dict={'ID':6,'NAME':'William','RANK':5532,'ARTICLE':1,'COUNTRY':'UAE'}
现在将上述步骤应用到程序中。
蟒蛇3
# Import DictWriter class from CSV module
from csv import DictWriter
# list of column names
field_names = ['ID','NAME','RANK',
'ARTICLE','COUNTRY']
# Dictionary
dict={'ID':6,'NAME':'William','RANK':5532,
'ARTICLE':1,'COUNTRY':'UAE'}
# Open your CSV file in append mode
# Create a file object for this file
with open('event.csv', 'a') as f_object:
# Pass the file object and a list
# of column names to DictWriter()
# You will get a object of DictWriter
dictwriter_object = DictWriter(f_object, fieldnames=field_names)
#Pass the dictionary as an argument to the Writerow()
dictwriter_object.writerow(dict)
#Close the file object
f_object.close()
输出:
当您执行此程序时,请确保必须关闭您的 CSV 文件,否则此程序会给您一个权限错误。