2023年12月2日发(作者:)

python 读取csv的方法

以Python读取CSV的方法

CSV(Comma-Separated Values)是一种常见的文件格式,用于存储表格数据。在Python中,我们可以使用csv模块来读取和操作CSV文件。本文将介绍如何使用Python读取CSV文件,并展示一些常见的操作方法。

1. 导入csv模块

在开始之前,我们需要先导入csv模块。可以通过以下代码来实现:

```

import csv

```

2. 打开CSV文件

接下来,我们需要打开CSV文件,并创建一个与文件相关联的文件对象。可以使用`open()`函数来打开文件,并将文件对象赋值给一个变量,以便后续的操作。

```

with open('', 'r') as file:

# 在这里进行操作 ```

在上述代码中,我们使用`open()`函数打开名为""的文件,并将文件对象赋值给变量"file"。这里的"r"表示以只读模式打开文件。

3. 读取CSV文件内容

一旦打开了CSV文件,我们就可以使用csv模块提供的方法来读取文件内容。csv模块提供了两种读取CSV文件的方式:基于行的读取和基于字典的读取。

基于行的读取,即逐行读取CSV文件。可以使用csv模块的`reader()`函数来创建一个reader对象,并使用`for`循环逐行读取文件内容。

```

with open('', 'r') as file:

reader = (file)

for row in reader:

# 在这里对每行数据进行操作

```

在上述代码中,我们使用`()`函数创建了一个reader对象,并将文件对象"file"作为参数传递给它。然后,使用`for`循环逐行读取文件内容,并将每行数据赋值给变量"row"。可以在`for`循环中对每行数据进行操作。

基于字典的读取,即将每行数据读取为字典形式。可以使用csv模块的`DictReader()`函数来创建一个DictReader对象,并使用`for`循环逐行读取文件内容。

```

with open('', 'r') as file:

reader = ader(file)

for row in reader:

# 在这里对每行数据进行操作

```

在上述代码中,我们使用`ader()`函数创建了一个DictReader对象,并将文件对象"file"作为参数传递给它。然后,使用`for`循环逐行读取文件内容,并将每行数据读取为一个字典,字典的键为CSV文件的第一行数据(即表头),值为对应行的数据。可以在`for`循环中对每行数据进行操作。

4. 操作CSV文件数据

一旦读取了CSV文件的内容,我们就可以对数据进行各种操作,例如筛选特定的行,计算统计信息,修改数据等。

以下是一些常见的操作方法: - 筛选特定的行

可以使用条件语句来筛选特定的行。例如,我们可以筛选出符合某个条件的行,并将其打印出来。

```

with open('', 'r') as file:

reader = ader(file)

for row in reader:

if row['age'] == '20':

print(row)

```

在上述代码中,我们假设CSV文件中有一个名为"age"的列,我们可以使用条件语句`if row['age'] == '20'`来筛选出年龄为20的行,并将其打印出来。

- 计算统计信息

可以使用各种方法来计算CSV文件中的统计信息,例如求和、平均值、最大值、最小值等。可以根据实际需求选择合适的方法进行计算。

``` with open('', 'r') as file:

reader = ader(file)

total = 0

count = 0

for row in reader:

total += int(row['score'])

count += 1

average = total / count

print("Total:", total)

print("Count:", count)

print("Average:", average)

```

在上述代码中,我们假设CSV文件中有一个名为"score"的列,我们使用循环计算了所有分数的总和,并统计了分数的个数。然后,通过除法计算出平均值,并将结果打印出来。

- 修改数据

如果需要对CSV文件中的数据进行修改,可以先将数据读取到一个列表或字典中,修改完成后再写回CSV文件。

```

data = [] with open('', 'r') as file:

reader = ader(file)

for row in reader:

row['score'] = str(int(row['score']) + 10)

(row)

with open('', 'w', newline='') as file:

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

writer = iter(file, fieldnames=fieldnames)

eader()

ows(data)

```

在上述代码中,我们首先创建了一个空列表"data",然后使用循环读取CSV文件的每一行数据,并对每行数据的"score"字段进行修改。修改完毕后,将每行数据添加到"data"列表中。

接下来,我们使用`open()`函数以写入模式打开原始的CSV文件,并创建一个writer对象。使用`writerow()`方法写入表头(即字段名),并使用`writerows()`方法将修改后的数据写入文件。

5. 关闭CSV文件

在操作完成后,我们需要关闭CSV文件。可以使用`close()`方法关闭文件。

```

()

```

或者使用`with`语句来自动关闭文件。

```

with open('', 'r') as file:

# 在这里进行操作

```

总结:

本文介绍了如何使用Python读取CSV文件,并展示了一些常见的操作方法。通过使用csv模块,我们可以轻松地读取和操作CSV文件中的数据。无论是筛选特定的行,计算统计信息,还是修改数据,都可以通过合适的方法来实现。希望本文对你理解如何读取CSV文件以及如何进行一些常见的操作有所帮助。