CSV 和 ini

CSV 文件

是纯文本文件

用途:交换文件、跨平台使用

逗号分隔值:Comma-Separated Values

CSV是一个呗行分隔符,列分隔符划分成行和列的文本文件

CSV不指定字符编码

行分隔符是\r\n,最后一行可以没有换行符

列分隔符常为逗号或者制表符

每一行称为一条记录record

字段(filed)可以使用双引号括起来,也可以不使用。如果字段中出现了双引号、逗号、换行符 必须使用双引号括起来。如果字段的值是双引号,使用两个双引号表示一个转义。

手动生成CSV文件

from pathlib import Path

p = Path('o:/tmp/mycsv/test.csv')
parent = p.parent
if not parent.exists():
    parent.mkdir(parents=True)


csv_body = '''\
id,name,age
1,zs,12
2,sa,23
3,we,14

'''

p.write_text(csv_body)
    

csv模块

reader (cscfile ,dialect='excel',**fmtparams)

返回reader对象,是一个行迭代器

默认使用Excel方言,如下:

  • delimiter 列分隔符,逗号

  • lineterminator 行分隔符 \r\n

  • quotechar 字段的引用符号,缺省为"双引号

  • 双引号的处理

    • doublequote 双引号的处理,默认为True。如果碰到数据中有双引号,而quotechar也是双引号,True则使用2个双引号表示,False表示使用转义字符将作为双引号的前缀
    • escapechar 一个转义字符,默认为None
    • writer = csv.writer(f,doublequote=False,escapechar=’@’)遇到双引号,则必须提供转义字符
  • qouting 指定双引号的规则

    • QOUTE_ALL所有字段
    • QOUTE_MINMAL特殊字符字段,Excel方言使用该规则
    • QOUTE_NONNUMERIC 非数字字段
    • QOUTE_NONE都不使用引号

writer(csvfile,dialect='excel',**fmtparams)

返回DictWriter的实例

主要方法有writerow、writerrows

writerrow(iterable)

import csv
from pathlib import Path

p = Path('o:/tmp/mycsv/test.csv')
with open(str(p)) as f:
    reader = csv.reader(f)
    print(next(reader))
    print(next(reader))
    for line in reader:
        print(line)
        
rows = [
    [4,'tom',
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值