5.1【数据编码与处理】读写csv数据

http://table.finance.yahoo.com/table.csv?s=000001.sz
通过雅虎网站获取了中国股市(深圳)数据集,以csv数据格式存储:
Date,Open,High,Low,Close,Volume,Adj Close
2022-06-30,8.69,8.74,8.66,8.70,36220400,8.70
2022-06-29,8.63,8.69,8.62,8.69,36961100,8.69
2022-06-28,8.58,8.64,8.56,8.63,33651900,8.63
...
请将成交量超过50000000的记录存储到另一个csv文件中
#
使用标准库中csv模块,使用其中reader和writer完成csv文件读写

from urllib import urlretrieve # 直接将远程数据下载到本地
urlretrieve('http://table.finance.yahoo.com/table.csv?s=000001.sz','sj.csv')
cat sj.csv | less # less命令的用法与more命令类似,也可以用来浏览超过一页的文件。所不同的是less命令除了可以按空格键向下显示文件外,还可以利用上下键来卷动文件。当要结束浏览时,只要在less命令的提示符”:”下按Q键即可
import csv
csv.reader?
csv.writer?
rf = open('sj.csv','rb') # 一定以二进制打开
reader = csv.reader(rf)
reader.next()
reader.next()
for row in reader: print row
wf = open('sj_copy.csv','wb')
writer = csv.writer(wf)
writer.
writer.writerow([])
writer.writerow(reader.next())
wf.flush()
cat sj_copy.csv | less

#
import csv
with open('sj.csv','rb') as rf:
	reader = csv.reader(rf)
	with open('sj2.csv','wb') as wf:
	writer = csv.writer(wf)
	headers = reader.next()
	writer.writerow(headers)
	for row in readers:
		if row[0] < '2022-01-01':
			break
		if int(row[5]) >= 50000000:
			writer.writerow(row)
print 'end'

vi sj2.csv
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值