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

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实现的登录与提交表单数据功能是Web开发中常见的需求,本文将介绍两个示例,演示如何使用Python实现登录和提交表单数据。 1. 使用requests库实现登录和提交表单数据 我们可以使用requests库实现登录和提交表单数据。以下是一个示例,演示如何使用requests库实现登录和提交表单数据: import requests # 登录 lo…

    python 2023年5月15日
    00
  • 通过cmd进入python的实例操作

    下面是通过cmd进入python的完整攻略。 1. 确认系统是否已经安装Python 打开cmd命令行界面,输入以下命令并回车: python –version 如果弹出类似于Python 3.8.2的版本信息,则说明Python已经被正确安装。如果没有弹出任何信息或提示python不是可识别的命令,那么说明Python还没有被正确安装在当前系统上。 如果…

    python 2023年5月30日
    00
  • Python获取网段内ping通IP的方法

    下面是 “Python获取网段内ping通IP的方法” 的完整攻略。 一、背景说明 在进行网络相关的测试或操作时,我们有时需要获取当前局域网中哪些主机是可以ping通的,这在排查网络故障、寻找设备等情况下是非常有用的。而Python是一门功能强大的编程语言,可以方便地进行网络测试,下面我们来看一下如何使用Python获取指定网段内ping通的IP地址。 二、…

    python 2023年6月3日
    00
  • Python中typing模块与类型注解的使用方法

    当我们在使用Python语言开发项目时,对函数参数和返回值进行明确的类型注解可以提高代码的可读性和可维护性。而typing模块则提供了一组用于类型检查的工具,可以进一步提高Python代码的可靠性。本文将详细介绍Python中typing模块和类型注解的使用方法。 一、typing模块简介 typing模块是Python 3.5版本中引入的标准库,旨在提供一…

    python 2023年5月13日
    00
  • 详解使用scrapy进行模拟登陆三种方式

    Scrapy是一个Python爬虫框架,可以帮助我们快速、高效地爬取网站数据。有些网站需要登录才能访问数据,本文将详细讲解如何使用Scrapy进行模拟登录,包括三种方式:使用FormRequest、使用Cookies、使用Session。 使用FormRequest 要使用FormRequest进行模拟登录,我们需要先分析登录页面的HTML代码,找到登录表单…

    python 2023年5月15日
    00
  • Python并发爬虫常用实现方法解析

    Python并发爬虫常用实现方法解析 前言 随着互联网的发展,数据已经成为企业和个人获取商业价值的一种重要手段。其中,网络爬虫和数据挖掘技术也同样成为了网络数据获取的关键技术。而在实际应用中,爬虫的爬取效率和并发能力也成为了评价一个爬虫质量的重要指标。所以,在爬虫开发中的并发处理技术是必须掌握的。 本文主要介绍在Python中的爬虫并发处理技术,通过学习并实…

    python 2023年5月14日
    00
  • 关于Python dict存中文字符dumps()的问题

    当我们在Python中使用dict存储中文字符时,常常会遇到dumps()的问题。下面给出关于Python dict存中文字符dumps()的完整攻略: 问题描述 在Python中,使用json.dumps()将dict序列化成json字符串时,中文字符会被默认转义。 例如,将以下字典结构: my_dict = {"name": &quo…

    python 2023年6月3日
    00
  • Python从使用线程到使用async/await的深入讲解

    Python从使用线程到使用async/await的深入讲解 1. 线程 1.1 什么是线程? 线程是程序执行流的最小单元,是进程的一个执行单元。线程通过共享运行时环境,可以提高程序的并发性,线程有轻量级、及时性等特点。 1.2 Python的线程模块 Python的标准库threading提供了线程相关的模块,使用起来非常简单。 import thread…

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