python基础教程之csv格式文件的写入与读取

yizhihongxing

Python基础教程之CSV格式文件的写入与读取

在Python中,CSV格式文件是一种常见的文件格式,它有多行文本数据组成,每行数据由多个字段组成,各字段之间用逗号分隔,最后一行无需换行符,特别适合存储表格化的数据,如日程计划、费用清单等等。

本篇攻略将详细介绍如何使用Python对CSV格式文件进行读写操作。

CSV文件的读取

在Python中,我们可以使用csv模块中的reader方法对CSV格式文件进行读取,示例代码如下:

import csv

with open('example.csv', newline='') as csvfile:
    reader = csv.reader(csvfile, delimiter=',', quotechar='|')
    for row in reader:
        print(', '.join(row))

代码解释:

  • csv.reader方法:返回一个Reader对象,用于以逐行地方式读取CSV文件中的数据。

  • delimiter参数:指定CSV文件中的分隔符,如逗号、分号等等。

  • quotechar参数:指定CSV文件中的字符引用符,如单引号、双引号等等。

  • for循环:逐行读取CSV文件,每一行读取到的数据存储在列表row中。

  • ','.join(row):将每行数据中所有字段用逗号拼接成一个字符串,并输出到控制台。

CSV文件的写入

在Python中,我们同样可以使用csv模块中的writer方法对CSV格式文件进行写入,示例代码如下:

import csv

with open('example.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
    writer.writerow(['Year', 'Event', 'Winner'])
    writer.writerow(['1995', 'Best-Kept Lawn', 'None'])
    writer.writerow(['1999', 'Gobstones', 'Welch National'])

代码解释:

  • csv.writer方法:返回一个Writer对象,用于将数据以逐行地方式写入CSV文件中。

  • QUOTE_MINIMAL参数:指定CSV文件中的特殊字符使用最小拼接方式。

  • writerow方法:将一个列表中的数据一行一行地写入CSV文件中。

另外,值得注意的是,在打开CSV文件时,我们需要指定打开文件的模式,其中:

  • ‘r’:表示只读模式。

  • ‘w’:表示写入模式,如果文件已存在,则会覆盖文件;如不存在,则会创建文件。

  • ‘a’:表示追加模式,如果文件已存在,则将数据写入到文件末尾;如不存在,则会创建文件。

示例1:

import csv

header = ['Name', 'Age', 'Gender']
data = [
    ['Tom', '28', 'Male'],
    ['Jerry', '25', 'Female'],
    ['Spike', '30', 'Male'],
]

with open('example.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
    writer.writerow(header)   # 写入表头
    writer.writerows(data)    # 写入数据

示例2:

import csv

with open('example.csv', newline='') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        print(row['Name'], row['Age'], row['Gender'])

代码解释:

  • csv.DictReader方法:返回一个Reader对象,将CSV文件中的每行数据转化为一个字典,字典中的每个键对应CSV表头中的一个字段。

  • for循环:逐行读取CSV文件,每一行读取到的数据存储在字典row中。

  • row['Name'], row['Age'], row['Gender']:输出字典row中指定字段的值。

到此,对于Python基础教程之CSV格式文件的写入与读取攻略就大功告成啦!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python基础教程之csv格式文件的写入与读取 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • Python中变量的定义方式是什么?

    在Python中,变量的定义方式相对简单,并且可以在不同的阶段进行修改。下面是Python中变量的定义方式的完整攻略: 变量的定义 变量可被视为一个存储值的名称。在Python中,定义变量不需要显示地标明其类型。当变量被赋值时,Python会根据赋值的类型确定变量的类型。以下是定义变量的语法: variable_name = variable_value 其…

    python 2023年4月19日
    00
  • 浅析python 定时拆分备份 nginx 日志的方法

    浅析Python定时拆分备份Nginx日志的方法,可以分为以下几个步骤: 1. 确定日志拆分方式 可以根据需要选择按时间或按大小拆分日志。按时间拆分可以简单地根据日期拆分,例如每天、每周或每月。按大小拆分可以设置每个日志文件的最大大小,当超出后新开一个日志文件。 2. 编写Python脚本 下面是一个基本的Python脚本,用于按日期拆分Nginx日志文件:…

    python 2023年6月3日
    00
  • Django框架反向解析操作详解

    Django框架反向解析操作详解 在Django框架中,反向解析是指根据URL模式名称和参数生成URL的过程。本攻略将介绍Django框架中反向解析的操作,包括URL模式定义、反向解析函数、URL模式命名等。 步骤1:URL模式定义 在Django框架中,我们需要定义URL模式,以便反向解析生成URL。以下是URL模式定义的示例代码: from django…

    python 2023年5月15日
    00
  • 如何在Python中使用pymysql库连接MySQL数据库?

    以下是如何在Python中使用pymysql库连接MySQL数据库的完整使用攻略,包括安装pymysql库、连接MySQL数据库、执行SQL语句等骤。同时,提供了两个示例以便更好理解如何使用pymysql库连接MySQL数据库。 步骤1:安装pymysql库 在Python中,我们可以使用pip命令安装pymysql库。以下是安装pymysql库基本语法: …

    python 2023年5月12日
    00
  • python用requests实现http请求代码实例

    以下是关于Python用requests实现HTTP请求的攻略: Python用requests实现HTTP请求 在Python中,requests是一个流行的HTTP库,可以用于向Web发送HTTP请求和接响应。以下是Python用requests实现HTTP请求的攻略: 发送GET请求 使用requests发送GET请求非常简单,以下是发送GET请求的示…

    python 2023年5月14日
    00
  • python动态网页批量爬取

    关于“Python动态网页批量爬取”的攻略,一般需要实现以下几个步骤: 确定网页的动态内容与Ajax请求 动态网页一般是指,其内容是通过Ajax请求异步获取的,而不是直接在一次请求中获取全部内容。因此,在爬取这样的网页时,我们需要首先找到对应的Ajax请求,获取其中的网页内容。可以使用浏览器开发者工具或者第三方库来帮助定位Ajax请求。 模拟Ajax请求并获…

    python 2023年5月14日
    00
  • Python中sys.argv用法图文详解

    Python中sys.argv用法图文详解 在Python中,sys.argv是一个列表,用于存储命令行参数。sys.argv列表中的第一个元素是程序本身的名称,从第二个元素开始是传入的命令行参数。本文将详细讲解其用法。 1. 基本用法 在进行命令行运行Python程序时,可以通过传入命令行参数来实现不同的功能。例如,我们编写了一个可以计算两个数之和的Pyt…

    python 2023年6月2日
    00
  • Python自动化测试笔试面试题精选

    针对“Python自动化测试笔试面试题精选”的完整攻略,我来给出详细讲解。 一、背景介绍 Python自动化测试是当前比较火热的话题之一,技能的要求也越来越高。为此,许多公司在面试面试或进行笔试的时候,会涉及Python自动化测试相关的题目。这个时候,我们就需要掌握相应的知识和技能,进而成功的应对笔试或面试。 二、攻略建议 下面我来分享一些攻略建议,帮助大家…

    python 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部