Python 2.x 中如何使用csv模块读取和写入CSV文件

介绍

CSV(逗号分隔值)是一种常见的文件格式,用于存储数据。Python中的CSV模块使得读取和写入CSV文件变得非常容易。

读取CSV文件

使用csv.reader()

csv.reader()函数将打开一个CSV文件(将其作为参数传递)并返回一个迭代器对象,该对象可以依次读取CSV文件中的每一行。下面是一个简单的示例,演示如何使用csv.reader()函数读取CSV文件。

假设我们有一个名为‘example.csv’的CSV文件,其内容如下:

name,age,city

John,25,Boston

Kate,30,New York

Tom,28,Chicago

现在我们使用Python代码来读取该CSV文件中的每一行数据,并将其打印出来。

import csv

with open('example.csv') as csv_file:

csv_reader = csv.reader(csv_file)

for row in csv_reader:

print(row)

输出结果如下所示:

['name', 'age', 'city']

['John', '25', 'Boston']

['Kate', '30', 'New York']

['Tom', '28', 'Chicago']

使用csv.DictReader()

csv.DictReader()函数将返回一个迭代器对象,该对象可以依次读取CSV文件中的每一行,并将其转换为Python字典。编写代码如下:

import csv

with open('example.csv', mode='r') as csv_file:

csv_reader = csv.DictReader(csv_file)

for row in csv_reader:

print(row)

输出结果如下所示:

{'name': 'John', 'age': '25', 'city': 'Boston'}

{'name': 'Kate', 'age': '30', 'city': 'New York'}

{'name': 'Tom', 'age': '28', 'city': 'Chicago'}

使用csv.DictReader()函数时,第一行被视为字典的键,并且可以使用这些键访问每行的值。

写入CSV文件

使用csv.writer()

csv.writer()函数用于向CSV文件中写入数据。下面是一个简单的示例,演示了如何使用csv.writer()函数将数据写入CSV文件。

import csv

with open('example.csv', mode='w') as csv_file:

csv_writer = csv.writer(csv_file)

csv_writer.writerow(['name', 'age', 'city'])

csv_writer.writerow(['John', '25', 'Boston'])

csv_writer.writerow(['Kate', '30', 'New York'])

csv_writer.writerow(['Tom', '28', 'Chicago'])

以上代码将向名为‘example.csv’的文件中写入数据。第一个csv_writer.writerow()将写入文件的头,并且随后的三个csv_writer.writerow()将写入数据。 如果在写入文件之前该文件不存在,则将创建该文件。

使用csv.DictWriter()

csv.DictWriter()函数与csv.writer()函数非常相似,但它允许我们以字典的形式写入CSV文件。下面是一个使用csv.DictWriter()函数的简单示例。

import csv

with open('example.csv', mode='w') as csv_file:

fieldnames = ['name', 'age', 'city']

writer = csv.DictWriter(csv_file, fieldnames=fieldnames)

writer.writeheader()

writer.writerow({'name': 'John', 'age': '25', 'city': 'Boston'})

writer.writerow({'name': 'Kate', 'age': '30', 'city': 'New York'})

writer.writerow({'name': 'Tom', 'age': '28', 'city': 'Chicago'})

在以上代码中,我们定义了一个名为‘fieldnames’的列表,并通过csv.DictWriter()函数的‘fieldnames’参数将其传递到函数中。之后,我们可以简单地使用writer.writerow()函数将数据写入文件。

总结

在Python中,我们可以轻松使用CSV模块读取或写入CSV文件。使用csv.reader()函数或csv.DictReader()函数可以读取CSV文件,而使用csv.writer()或csv.DictWriter()我们可以将数据写入CSV文件。这些函数的使用非常简单,只需要传递参数并调用相应的函数即可。

后端开发标签