csv文件处理

本文介绍了Python中csv模块处理CSV文件的基本规则和简单用法,包括csv.reader、csv.writer、csv.DictReader和csv.DictWriter。内容涵盖CSV文件的格式特点、如何创建和读取CSV文件,以及使用字典形式操作数据。
摘要由CSDN通过智能技术生成

今天先简单的使用一些csv文件处理的一些常用方法,后面使用到numpy、pandas等模块时再补充。

csv文件简介

CSV文件格式的通用标准并不存在,可以参看RFC 4180

逗号分隔值(Comma-Separated Values,CSV,有时也成为了字符分隔,因为分隔字符也可以不是逗号)。

其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。

基本规则

  • CSV是一种被分隔的数据格式,它有被逗号字符分隔的字段/列和以换行结束的记录/行。
  • CSV文件不要求特定的字符编码、字节序或行结束符格式(某些软件不支持所有行结束变体)。
  • 一条记录结束于行结束符。然而,行结束符可能被作为数据嵌入到字段中,所以软件必须识别被包裹的行结束符(见下述),以便从可能的多行中正确组装一条完整的记录。
  • 所有记录应当有相同数目、相同顺序的字段。
  • 字段中的数据被翻译为一系列字符,而不是一系列比特或字节(见RFC 2046,section 4.1)。例如,数值量65535可以被表现为5个ASCII字符“65535”(或其它形式如“0xFFFF”、“000065535.000E+00”等等);但不会被作为单个二进制整数的2字节序列(而非两个字符)来处理。如果不遵循这个“纯文本”的惯例,那么该CSV文件就不能包含足够的信息来正确地翻译它,该CSV文件将不大可能在不同的计算机架构间正确传递,并且将不能与text/csv MIME类型保持一致。
  • 相邻字段必须被单个逗号分隔开。然而,“CSV”格式在分隔字符的选择上变化很大。特别是在某些区域设置中逗号被用作小数点,则会使用分号、制表符或其它字符来代替。

更多详细信息可以参考wikipedia

简单用法示例

手动生成csv文件

from pathlib import Path

p = Path() / "test.csv"
csv_body = """\
id,name,age
1,小明,18
2,小红,19
3,小黄,17
"""
p.write_text(csv_body)

写入效果如下:

csv模块

csv模块实现了以CSV格式读取和写入表格数据的类。

csv模块可以使用reader或者writer对象来读写序列,也可以使用DictReader和DictWriter类以字典的形式来读写数据。

csv.reader

csv.reader(csvfile,dialect=“excel”,**fmtparams)
返回reader对象,是一个行迭代器

默认使用excel方言,参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值