zoukankan      html  css  js  c++  java
  • 用python处理csv文件

    1、准备csv文件(这里是平安银行的统计表:下载并另存为pingan.csv)

    >>> from urllib import urlretrieve
    >>> urlretrieve('http://table.finance.yahoo.com/table.csv?s=000001.sz','pingan.csv')
    ('pingan.csv', <httplib.HTTPMessage instance at 0x0000000003BF6588>)

    2、以二进制读的模式打开csv文件并读取第一行

    >>> import csv
    >>> rf = open('pingan.csv','rb')
    >>> reader = csv.reader(rf)
    >>> reader.next()
    ['Date', 'Open', 'High', 'Low', 'Close', 'Volume', 'Adj Close']

    3、读取csv文件所有数据

    for row in reader:print row

    4、以二进制写的方式打开一个新的文件pinganback.csv(系统会自动创建),插入数据并刷新

    >>> wf = open('pinganback.csv','wb')
    >>> writer = csv.writer(wf)
    >>> writerow=writer.writerow(['Date','Open','High','Low','Close','Volume','Adj Close'])
    >>> wf.flush()

    5、查看pinganback.csv文件内容是否成功写入(这里是在linux服务器上,如果是本地操作重复步骤2查看文件内容)

    cat pinganback.csv
    Date,Open,High,Low,Close,Volume,Adj Close

    6、从pingan.csv里读取一行插入到pinganback.csv里并刷新

    >>> writerow=writer.writerow(reader.next())
    >>> wf.flush()

    7、再次查看pinganback.csv里的内容

    cat pinganback.csv
    Date,Open,High,Low,Close,Volume,Adj Close
    2016-12-30,9.08,9.10,9.06,9.10,30260700,9.10

    8、完整的示例

    import csv  #导入csv库
    with open('pingan.csv','rb') as rf: #以二进制读的模式打开pingan.csv文件
        reader=csv.reader(rf)    #生成文件读模型
        with open('pinganmove.csv','wb') as wf: #以二进制写的模式打开pinganmove.csv文件
            writer=csv.writer(wf) #生成文件写模型
            header = reader.next()#读取标题行(即第一行)
            writer.writerow(header) #将第一行写入pinganmove.csv
            for row in reader: #逐行读取数据
                if row[0] < '2016-01-01': #剔除键名0字段值为2016-01-01时间点前的数据
                    break
                if int(row[5])>=50000000:#筛选出键名5的值大于50000000的数据
                    writer.writerow(row)#将筛选好的数据写入pinganmove.csv
    print('end')#结束后打印end
    技术让生活更优质!
  • 相关阅读:
    服务器建设问题
    JDBC --反射(二)
    Cookies
    http和https区别
    springboot常用注解
    线程池
    悲观锁和乐观锁
    java高并发下的数据安全
    idea解决mybatis逆向工程
    spring Cloud
  • 原文地址:https://www.cnblogs.com/chennuo/p/6386406.html
Copyright © 2011-2022 走看看