使用Python读取CSV文件的方法

269 阅读2分钟

在本教程中,你将学习如何在Python中读取CSV文件。

CSV (comma-separated values) 文件是一个带分隔符的文本文件。该文件由一行或多行的数据记录组成。每个数据记录由逗号分隔的值组成,CSV文件的所有行都有相同数量的值。

在本教程中,我们将实现读取CSV文件以获得文件数据。我们将使用Python的csv 模块来读取CSV文件。

因此,让我们继续进行编码。

在Python中读取CSV文件

由于我们要实现读取CSV文件来获取数据。所以我们将在一个employee.csv 文件中拥有以下CSV文件。你可以使用下面的方法创建CSV文件employee.csv

#employee.csv

"name","age","country"
"Smith", "32", "Australia"
"William", "30", "Newyork"
"Andre", "20", "Germany"
"Root", "40", "France"
"Andy", "35", "Britain"

为了使用Python读取CSV文件,我们需要从Python中导入csv 模块来读取CSV文件。

import csv

然后我们将使用open() 函数打开CSV文件。该函数将返回文件对象。

file = open('path/csv_file', 'r')

我们需要将文件对象file 传递给 csv 模块的DictReader() 函数。DictReader() 函数返回一个csv阅读器对象。

csvReader = csv.DictReader(file) 

我们将对每一行的csvReader 对象进行迭代,并从目标行获得每个字段的值。

for line in csvReader:    
        print(line)

由于我们使用了DictReader() 函数,我们可以像下面这样访问值字段的名称。

line['name']

以下是读取CSV文件的完整代码。

#read.py

import csv
with open('employee.csv', 'r') as file:    
    csvReader = csv.DictReader(file)    
    for line in csvReader:        
        print(f"Name: {line['name']}, Age : {line['age']}, Country: {line['country']}")

以上将从CSV文件中打印以下数据。

Name: Smith, Age :  "32", Country:  "Australia"
Name: William, Age :  "30", Country:  "Newyork"
Name: Andre, Age :  "20", Country:  "Germany"
Name: Root, Age :  "40", Country:  "France"
Name: Andy, Age :  "35", Country:  "Britain"