18 - csv文件-ini文件处理

本文详细介绍了Python中处理CSV文件的csv模块,包括reader和writer方法的使用,并探讨了ini文件的处理,利用configparser模块进行读写操作,包括section和option的常见操作,以及如何以字典方式访问配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 CSV文件

        逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。

# 下面都是csv文件的内容格式
1,2,3,4,5

1,2,"1,3"

1,2,"a,""f"
  • CSV 是一个被行分隔符、列分隔符划分成行和列的文本文件。
  • CSV 不指定字符编码。

它有以下规范:

  1. 行分隔符为\r\n,最后一行可以没有换行符
  2. 列分隔符常为逗号或者制表符。每一行称为一条记录record
  3. 字段可以使用双引号括起来,也可以不使用。如果字段中出现了双引号、逗号、换行符必须使用双引号括起来。
  4. 如果字段的值是双引号,需要额外使用一个个双引号,表示一个转义。
  5. 表头可选,和字段列对齐就行了。

1.1 手动生成一个csv文件

只需要打开一个文件,按照CSV的格式,编写内容,然后写入文件中去即可。

from pathlib import Path

p = Path(r'E:\Python - base - code\chapter06文件\test.csv')
p.touch()
csv_body = '''\
no,name,age,comment
1,daxin,20,"I Like Cat"
2,tom,30,"I Like Movice"
3,ben,40,"I""m super man    # "" 表示"
4xyz"
'''

with open(p,'a+') as f:
    f.write(csv_body)

1.2 cvs模块

Python提供的csv模块用于处理csv文件,主要通过读(reader)写(writer)两种方式:

1.2.1 reader方法

csv模块的reader方法,用于读模式打开一个csv文件,返回一个reader对象,是一个行迭代器。它的基本格式为:

csv.reader(iterable, dialect='excel',**fmtparams)
  • dialect:表示使用excel的方言(标准)去读取
  • **fmtparams: 对excel的规范进行自定义设置

可以设置的参数有:

  1. delimiter:列分隔符(逗号)
  2. lineterminator:行分隔符\r\n
  3. quotechar:字段的引用符号,缺省为 " 双引号
  4. 双引号的处理(一般使用doublequote=True,按照默认的来)
    • doublequote 双引号的处理,默认为True。如果碰到数据中有双引号,而quotechar也是双引号,doublequote=True时,则使用2个双引号表示,False表示使用转义字符将作为双引号的前缀
    • escapechar 一个转义字符,默认为None
    • writer = csv.writer(f, doublequote=False, escapechar=’@’) 遇到双引号,则必须提供转义字符
  5. quoting 指定双引号的规则
    • QUOTE_ALL 所有字段
    • QUOTE_MINIMAL特殊字符字段,Excel方言使用该规则
    • QUOTE_NONNUMERIC非数字字段
    • QUOTE_NONE都不使用引号。

建议都是用默认规则


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值