如何使用Python读取CSV数据

在数据分析、数据挖掘和机器学习等领域,CSV文件是一种非常常见的文件格式。Python作为一种广泛使用的编程语言,也提供了方便易用的CSV读取库。本文将介绍如何使用Python读取CSV数据。

1. 安装CSV库

Python的官方CSV库名为csv,它已经随Python安装包一起发布。在使用之前,我们需要先导入这个库。

import csv

在一些特殊情况下,我们可能需要使用第三方的CSV库,比如pandas库、numpy库等。这些库都拥有更多的功能和更为灵活的操作方式。

2. 读取CSV文件

接下来我们要读取一个CSV文件。假设我们有一个叫做data.csv的文件,里面包含了一些学生成绩的信息。文件的内容如下:

name,math_score,english_score
Alice,90,80
Bob,75,85
Charlie,80,90
Daisy,95,95

代码示例:

with open('data.csv', newline='', encoding='utf-8') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        print(row)

运行结果:

['name', 'math_score', 'english_score']
['Alice', '90', '80']
['Bob', '75', '85']
['Charlie', '80', '90']
['Daisy', '95', '95']

代码解释:

  • 我们使用了Python内置的with语句打开了一个名为data.csv的文件,并指定编码方式为utf-8。
  • 接下来,我们使用csv.reader()函数创建了一个reader对象。
  • 我们通过一个for循环,逐行读取CSV文件中的内容,并打印每一行的内容。

3. 常用参数

在读取CSV文件时,csv.reader()函数有许多可选参数,供我们自定义读取的方式和规则

  • delimiter:指定CSV文件中的分隔符,默认为逗号(,)
  • quotechar:指定CSV文件中的引号字符,默认为双引号(”)
  • lineterminator:指定CSV文件中的行结束符,默认为’\r\n’
  • skipinitialspace:指定是否忽略每个字段前面的空格,默认为False

代码示例:

with open('data.csv', newline='', encoding='utf-8') as csvfile:
    reader = csv.reader(csvfile, delimiter='\t')
    for row in reader:
        print(row)

运行结果:

['name,math_score,english_score']
['Alice,90,80']
['Bob,75,85']
['Charlie,80,90']
['Daisy,95,95']

代码解释:

  • 我们在csv.reader()函数中指定了delimiter参数为制表符(’\t’)
  • Csv.reader()函数便会将文件内容按制表符为分隔符进行读取。

4. 操作CSV数据

读取CSV文件只是我们使用CSV库的一个方面,我们还能够进行数据的增删改查等各种操作。虽然csv库内置的操作比较简单,但是通过一些手动操作,我们依然能够实现一些很有趣的功能。

代码示例:

with open('data.csv', 'r', encoding='utf-8') as csvfile:
    rows = list(csv.reader(csvfile))

# 在最后一行增加一条记录
rows.append(['Ella', '85', '95'])

# 更新第二行的数据
rows[1][2] = '90'

# 删除第三行
del rows[2]

# 将修改后的数据保存至新文件
with open('new_data.csv', 'w', newline='', encoding='utf-8') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerows(rows)
  • 我们读取了原始的CSV数据,并将其存储在rows列表中。
  • 我们使用列表的append()函数在第4行末尾添加了一条新记录([‘Ella’, ’85’, ’95’])。
  • 我们使用列表的索引和下标来修改第二行的数据(’Bob’的英文成绩由85改为90)。
  • 我们使用del语句删除了第三行数据(Charlie的成绩记录)。
  • 最后,我们使用csv.writer()函数,将修改之后的数据写入一个新的CSV文件new_data.csv中。

5. 总结

使用csv库读取和操作CSV文件非常简单,但是一旦进行了一些稍微复杂的操作,就会遇到一些问题。这时候可以考虑使用pandas库来进行数据的读取和处理。pandas库在数据的读取、过滤、分组、转换等方面都提供了非常方便的工具。

原创文章,作者:RZNYC,如若转载,请注明出处:https://www.506064.com/n/375348.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
RZNYCRZNYC
上一篇 2025-04-29 12:49
下一篇 2025-04-29 12:49

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29

发表回复

登录后才能评论