zoukankan      html  css  js  c++  java
  • csv文件读写(函数reader、writer;类DictReader、DictWriter)

    读写csv文件用到的函数reader、writer;类DictReader、DictWriter
     
    1.reader方法的使用
    查看reader方法的帮助说明
    >>> help(csv.reader)
    Help on built-in function reader in module _csv:
     
    reader(...)
        csv_reader = reader(iterable [, dialect='excel']
                                [optional keyword args])
            for row in csv_reader:
                process(row)
     
    csv文件上的数据:
     
    import csv 
    reader = csv.reader(file('data.csv','rb')
    for line in reader
        print line
    打印出来的结果是数组类型,有文件中几行数据就打印几个数组,不区分表头和值
    输出结果:
     
    2.writer方法的使用
    查看help说明
    >>> help(csv.writer)
    Help on built-in function writer in module _csv:
     
    writer(...)
        csv_writer = csv.writer(fileobj [, dialect='excel']
                                    [optional keyword args])
            for row in sequence:
                csv_writer.writerow(row)
        
            [or]
        
            csv_writer = csv.writer(fileobj [, dialect='excel']
                                    [optional keyword args])
            csv_writer.writerows(rows)
        
        The "fileobj" argument can be any object that supports the file API.
     
    writer的使用:
    import csv
    writer = csv.writer(file('data.csv','wb'))
    writer.writerow(['Column1','Column2','Column3']) #写入csv文件的表头
    lines = [range(3) for i in range(5)] #[[0,1,2],[0,1,2],[0,1,2],[0,1,2],[0,1,2]]
    writer.writerows(lines) #同时写入多行信息
    或:
    for line in lines:
        writer.writerow(line) #一次写入一行信息
     
    csv文件上查看写入结果:
     
     3.DictReader类的使用
    csv文件的数据如下:
    import csv
    reader = csv.DictReader(file('data.csv','rb'))
    for line in reader
        print line
    打印出来的数据是字典类型,表格的表头为键、每一行的值为值,值有几行就打印几个字典
     
    4.DictWriter类的使用
    import csv
    rows = [{'Column1': '0', 'Column2': '1', 'Column3': '2', 'Column4': '3'},
            {'Column1': '0', 'Column2': '1', 'Column3': '2', 'Column4': '3'},
            {'Column1': '0', 'Column2': '1', 'Column3': '2', 'Column4': '3'},
            {'Column1': '0', 'Column2': '1', 'Column3': '2', 'Column4': '3'},
            {'Column1': '0', 'Column2': '1', 'Column3': '2', 'Column4': '3'}]
     
    fieldnames = ['Column1','Column2','Column3','Column4'] #定义表头字段
     
    cr = csv.DictWriter(file('data.csv','wb'),fieldnames = fieldnames)
    cr.writeheader() #将表头名称写入csv文件
    cr.writerows(rows) #将要写入的数据一次性写入到文件,也可以使用cr.writerow()一次写入一行
  • 相关阅读:
    三个Bootstrap免费字体和图标库
    前端实时消息提示的效果-websocket长轮询
    带分页的标签
    VMware-workstation安装
    摄影/肥猫的大头贴
    Smith Numbers(分解质因数)
    C
    B
    Ball
    Property Distribution(DFS)
  • 原文地址:https://www.cnblogs.com/MING-FBUG/p/8822754.html
Copyright © 2011-2022 走看看