如何读写csv数据

实际案例

http://table.finance.yahoo.com/table.csv?s=000001.sz(该网址已失效)
我们可以通过雅虎网址获取中国股市(深市)数据集,它以csv数据格式存储:

Date,Open,High,Low,Close,Volume,Adj Close
2016-06-30,8.69,8.74,8.66,8.70,36220400,8.70
2016-06-29,8.63,8.69,8.62,8.69,36961100,8.69
2016-06-28,8.58,8.64,8.56,8.63,33651900,8.63
……

请将平安银行这支股票,在2016年中成交量超过50000000的记录存储到另一个csv文件中。

解决方案:使用标准库中的csv模块,可以使用其中reader和writer完成csv文件读写。

基本代码为:

# -*- coding: utf-8 -*-

# -*- coding: utf-8 -*-

import csv
from urllib import urlretrieve

urlretrieve('http://table.finance.yahoo.com/table.csv?s=000001.sz', 'pingan.csv')

'''
# 读csv文件
rf = open('xxx.csv', 'rb')

reader = csv.reader(rf)
for row in reader:
    print row

# 写csv文件
wf = open('xxx.csv', 'wb')

writer = csv.writer(wf)
# 写入一个数据,数据可为列表
writer.writerow([])
'''

with open('pingan.csv', 'rb') as rf:

    reader = csv.reader(rf)
    with open('pingantest.csv', 'wb') as wf:

        writer = csv.writer(wf)
        headers = reader.next()
        writer.writerow(headers)
        for row in reader:

            if row[0] < '2016-01-01':

                break
            if int(row[5]) >= 50000000:

                writer.writerow(row)

print 'end'

注:由于教程录制于2016年,本人无法获取相关数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值