跟我一起学 Python 数据处理(十二):CSV 数据的读取与处理

跟我一起学 Python 数据处理(十二):CSV 数据的读取与处理

在数据处理的领域中,Python 是一把强大的利器。我们开启这个系列的目的就是希望和大家一起在 Python 数据处理的道路上不断前行,共同成长。今天,我们将深入探讨 Python 中如何处理 CSV 数据,这是迈向高效数据处理的重要一步。

一、CSV 数据的基础知识

CSV,即逗号分隔值(Comma-Separated Values),是一种极为常见的机器可读文件格式。它的核心特点正如其名,数据列之间是以逗号进行分隔的,文件扩展名通常为.csv。当然,还有一种与之类似的制表符分隔值(TSV)数据,其列之间的分隔符是制表符,扩展名一般是.tsv,但有时也会用.csv。所以当我们遇到.csv 文件时,一定要打开查看一下具体的分隔符,确定其是 CSV 还是 TSV 数据,因为这会影响后续的数据处理方式。

CSV 数据在数据领域应用广泛,许多数据集都采用这种格式存储,例如世界卫生组织(WHO)提供的一些数据。这些数据涵盖了丰富的信息,如全球各国的预期寿命等。以 WHO 的预期寿命数据为例,它可能包含指标、发布状态、年份、地区、国家、性别、示值、数值大小等多个字段,每个字段对应的数据在文件中以逗号隔开,每行代表一条记录。

二、Python 读取 CSV 数据的方法

在 Python 中,处理 CSV 数据有专门的模块——csv模块,它为我们提供了便捷的方法来读取和处理 CSV 文件。

首先,我们需要导入csv模块,就像这样:import csv。这一步就好比在我们的 Python 工具库中引入了处理 CSV 数据的专业工具。

接下来,我们要打开 CSV 文件。假设我们有一个名为example.csv的文件(这里请确保你的文件存在且路径正确),我们可以使用open函数来打开它,并且指定打开模式为r(表示只读),示例代码如下:

csvfile = open('example.csv', 'r')

然后,我们利用csv.reader函数创建一个读取器对象,这个读取器对象就像是一个数据翻译官,能够将 CSV 文件中的数据按照规则转换为 Python 可以理解的格式。代码如下:

reader = csv.reader(csvfile)

现在,我们就可以通过循环遍历读取器对象来获取每一行的数据了,示例代码如下:

for row in reader:
    print(row)

在这个循环中,每一次迭代,row变量都会存储 CSV 文件中的一行数据,并且以列表的形式呈现。例如,如果 CSV 文件中的一行数据是"John",25,"New York",那么row就会是['John', '25', 'New York']

三、实际应用案例

假设我们有一个 CSV 文件记录了学生的考试成绩,文件名为students_scores.csv,文件内容如下:

Name,Math,English,Science
Alice,90,85,92
Bob,80,88,75
Charlie,95,90,88

我们的任务是计算每个学生的平均成绩,并将结果输出。以下是实现的代码:

import csv

# 打开 CSV 文件
csvfile = open('students_scores.csv', 'r')
# 创建读取器对象
reader = csv.reader(csvfile)

# 跳过标题行
next(reader)

# 遍历数据行
for row in reader:
    name = row[0]
    scores = [int(score) for score in row[1:]]
    average_score = sum(scores) / len(scores)
    print(f"{name}的平均成绩为: {average_score}")

# 关闭文件
csvfile.close()

在上述代码中,我们首先跳过了文件的第一行(标题行),然后对于每一行数据,我们提取出学生的姓名和各科成绩,将成绩转换为整数后计算平均值并输出。

四、总结与展望

通过今天的学习,我们了解了 CSV 数据的基本概念以及在 Python 中如何读取和处理 CSV 文件。这只是数据处理的冰山一角,在后续的学习中,我们还会遇到更多复杂的情况和更强大的处理技巧。

写作这篇博客花费了不少精力,如果您觉得它对您有所帮助,希望您能关注我的博客,为我点赞和评论。您的支持是我继续分享知识的最大动力,让我们一起在 Python 数据处理的学习道路上越走越远!

希望这篇博客能够满足您的需求,如果您还有其他问题或需要进一步修改,请随时告诉我。

作者:lilye66

物联沃分享整理
物联沃-IOTWORD物联网 » 跟我一起学 Python 数据处理(十二):CSV 数据的读取与处理

发表回复