zoukankan      html  css  js  c++  java
  • Python学习笔记--CSV模块读写数据(转)

    CSV模块是Python的内置模块,直接import csv就可调用。csv模块主要就两个函数:csv.reader()——读取csv文件数据,csv.writer()——写入csv文件数据。简单实用。

    一、读取CSV

    语法:csv.reader(iterable[, dialect='excel'][optional keyword args])

    示例:

    import csv
    reader=csv.reader(open('test.csv', 'rb'))
    for item in reader:
        print line

    二、写入CSV

    语法:csv.writer(fileobj [, dialect='excel'][optional keyword args])

    示例:

    import csv
    
    writer=csv.writer(open('test.csv', 'wb'))
    writer.writerow(['col1', 'col2', 'col3'])
    data=[range(3) for i in range(3)]
    for item in data:
        writer.writerow(item)

    须注意之处:writer.writerow()方法中的参数是list类型,如果你想在A1列写入'hello',则必须是writer.writerow(['hello']),不然'hello'会被看成是个list从而被分写入5列。

    写入CSV时,CSV文件的创建必须加上'b'参数,即csv.writer(open('test.csv','wb')),不然会出现隔行的现象。网上搜到的解释是:python正常写入文件的时候,每行的结束默认添加‘ ’,即0x0D,而writerow命令的结束会再增加一个0x0D0A,因此对于windows系统来说,就是两行,而采用’b'参数,用二进制进行文件写入,系统默认是不添加0x0D的。

  • 相关阅读:
    IO流(读取键盘录入)
    IO 流 自定义字节流的缓冲区-read 和write 的特点
    IO流 字节流的缓冲区
    IO流 拷贝图片
    IO流-字节流File读写操作
    IO流 带行号的缓冲区
    IO流(装饰设计模式)
    IO流-ReadLine方法的原理 自定义BufferedReader
    IO流 Buffered 综合练习
    IO流 BufferedWriter
  • 原文地址:https://www.cnblogs.com/nangeblog/p/4372461.html
Copyright © 2011-2022 走看看