CSV

  • CSV文件简介

        CSV(Comma-Separated Values),逗号分隔值
    
        CSV是一个被行分隔符、列分隔符划分成行和列的文本文件.没有指定字符编码.
        详情参看 RFC 4180 :https://www.ietf.org/html/rfc4180
    
        行分隔符为\r\n,最后一行可以没有换行符
        列分隔符常为逗号或制表符
        每一行数据称为一条记录(record)
        一行中被列分隔符分成的一个个独立数据,称为一个字段
    
        字段可以使用双引号括起来,也可以不使用.(有些程序会自动帮你替换)
        如果字段中出现了双引号、逗号、换行符必须使用双引号括起来.
        如果字段的值是双引号,使用两个双引号表示一个转义.("""")
    
        表头可选,和字段列对齐即可.
  • 手动生成CSV文件

    from pathlib import Path
    
    p = Path('G:/csv/a.csv')         # CSV文件路径
    parent = p.parent 
    if not parent.exists():          # 判断目录是否存在
        parent.mkdir(parents=True)
    
    # "\"反斜杠此处表示折行,这样保证第一行不为空行
    csv_body = """\
    id,name,age,comment
    1,tom,18,"i'm 18"
    2,jerry,"this is a ""test"" string."
    3,sadan,"中国
    
    国庆
    "
    """
    p.write_text(csv_body)
  • csv模块

两个函数:

reader(fileobj,dialect='excel',**fmtparams)
返回DictReader的实例,是个行迭代器

delimiter 列分隔符,缺省值为逗号
lineterminator 行分隔符,缺省值为\r\n
quotechar 字段的引用符号,缺省为'"',双引号

双引号的处理:
doublequote 双引号的处理,默认为True.
如果"和quotechar为同一个,True则使用2个双引号表示
False表示使用转义字符作为双引号的前缀.例:"\""
escapechar 设定转义字符,默认为None.默认转义符为"\"
quoting 指定双引号的规则
    QUOTE_ALL 所有字段都有加引号
    QUOTE_MINIMAL 特殊字符字段才加引号
    QUOTE_NONNUMERIC 非数字字段需要加引号
    QUOTE_NONE 都不使用引号


 
 

        print(line)



本文转自 撒旦搞时间 51CTO博客,原文链接:http://blog.51cto.com/12074120/1977604,如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值