zoukankan      html  css  js  c++  java
  • CSV模块

    Python csv模块的使用

    1、csv简介

    CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本

    格式,用以存储表格数据,包括数字或者字符。很多程序在处理数据时都会碰到csv这种格式的文件,它的使用是比

    较广泛的(Kaggle上一些题目提供的数据就是csv格式),csv虽然使用广泛,但却没有通用的标准,所以在处理csv

    格式时常常会碰到麻烦,幸好python内置了csv模块。下面简单介绍csv模块中最常用的一些函数。

    更多内容请参考:

    https://docs.python.org/2/library/csv.html#module-csv

    https://docs.python.org/3/library/csv.html#module-csv

    2、csv模块中的函数

    • reader(csvfile, dialect='excel', **fmtparams)

      参数::

        csvfile:必须是支持迭代(Iterator)的对象,可以是文件(file)对象或者列表(list)对象

        dialect:编码风格,默认为excel的风格默认为excel的风格,也就是用逗号(,)分隔,dialect方式也支持自定义,通过调用register_dialect方法来注册,下文会提到。

        fmtparam:格式化参数,用来覆盖之前dialect对象指定的编码风格。

    使用:

    import csv
    
    with open('myData.csv', 'r') as csvfile:
        reader_obj = csv.reader(csvfile)
        for line in reader_obj:  # reader_obj对象是一个迭代器
            print(line)
    1,a
    2,b
    3,c
    4,d

    补充:reader对象还提供一些方法:line_num、dialect、next()

    • writer(csvfile, dialect='excel', **fmtparams)
    import csv
    
    # 打开文件,newline=''参数,目的是使写入没有多余空行
    with open('myData.csv', 'w', newline='') as csvfile:
        writer_obj = csv.writer(csvfile)    # dialect默认excel
        writer_obj.writerow([1,'a'])    # 写入单行
        writer_obj.writerow([2,'b'])
        ls = [(3, 'c'), (4, 'd')]   # 可以写入多行
        writer_obj.writerows(ls)
    

    注意:如果文件't.csv'事先存在,调用writer函数会先清空原文件中的文本,再执行writerow/writerows方法。

    补充:除了writerow、writerows,writer对象还提供了其他一些方法:writeheader、dialect

    • register_dialect(name, [dialect, ]**fmtparams)

     

     

     

     

     

  • 相关阅读:
    hdu 2819 Swap
    匈牙利算法
    hdu 1281 棋盘游戏
    hdu 2444 The Accomodation of Students(最大匹配 + 二分图判断)
    hdu 1045 Fire Net(最小覆盖点+构图(缩点))
    Python实现时钟
    挥之不去的DDOS
    随机数
    wchar_t的用法
    Visual Studio函数被警告安全,如何修改
  • 原文地址:https://www.cnblogs.com/zhzhlong/p/9194194.html
Copyright © 2011-2022 走看看