📜  使用python从csv中删除添加替换内容(1)

📅  最后修改于: 2023-12-03 14:49:49.777000             🧑  作者: Mango

使用Python从CSV中删除、添加、替换内容

CSV(Comma Separated Values)是常用的数据交换格式,它使用逗号将数据分隔为不同的列。Python提供了许多内置模块和库来处理CSV文件。在本文中,我们将介绍如何使用Python从CSV中删除、添加、替换内容。

读取CSV文件

使用Python处理CSV文件首先需要读取CSV文件。Python提供了csv模块来读取和写入CSV文件。

import csv

with open('example.csv') as csv_file:
    csv_reader = csv.reader(csv_file, delimiter=',')
    for row in csv_reader:
        print(row)

我们打开一个名为example.csv的文件,并创建一个csv_reader对象。delimiter参数指定了文件中使用的分隔符。在循环中,我们遍历每一行,并打印它们。

删除行

要删除CSV文件中的一行,我们可以创建一个新文件,并将需要保留的行写入其中。我们可以使用Python的文件对象来完成此操作。

import csv

with open('example.csv', 'r') as csv_file:
    csv_reader = csv.reader(csv_file)
    with open('new_example.csv', 'w', newline='') as new_csv_file:
        csv_writer = csv.writer(new_csv_file)
        for row in csv_reader:
            if row[0] != 'John': # 删除名为John的那一行
                csv_writer.writerow(row)

在此示例中,我们打开了读取文件和写入文件。我们使用csv_reader遍历csv文件的每一行,并使用csv_writer来将需要保留的行写入新文件。如果我们想要删除名为“John”的那一行,我们可以使用条件语句来实现。

添加行

要向CSV文件中添加一行,我们可以打开文件并将新行追加到文件末尾。

import csv

with open('example.csv', 'a', newline='') as csv_file:
    csv_writer = csv.writer(csv_file)
    new_row = ['James', '31', 'Male']
    csv_writer.writerow(new_row)

在此示例中,我们打开example.csv文件,将mode参数设置为'a'以附加到文件末尾。然后,我们使用csv_writer.writerow()方法向文件中添加新行。

替换内容

要替换CSV文件中的数据,我们需要先读取文件,然后将需要替换的行写入新文件,并将替换内容写入新文件。

import csv

with open('example.csv', 'r') as csv_file:
    csv_reader = csv.reader(csv_file)
    with open('new_example.csv', 'w', newline='') as new_csv_file:
        csv_writer = csv.writer(new_csv_file)
        for row in csv_reader:
            if row[0] == 'John': # 找到名为John的那一行
                new_row = ['John', '29', 'Male'] # 替换行的内容
                csv_writer.writerow(new_row)
            else:
                csv_writer.writerow(row)

在此示例中,我们使用csv_reader遍历csv文件的每一行,并使用条件语句找到需要替换的行。我们创建一个新的行来替换旧的行,然后使用csv_writer将它写入新文件。对于不需要替换的行,我们只需要将其写入新文件即可。

以上就是使用Python从CSV中删除、添加、替换内容的方法。CSV是一种非常常用的格式,了解如何使用Python处理CSV文件是非常有用的。