标签:注意 with open 模块 headers 代码 iter com 记录 数据信息
需求:
http://quotes.money.163.com/service/chddata.html?code=1002566&start=20150104&end=20160108
我们可以通过雅虎网站获取了中国股市(深市)数据集,它以csv数据格式存储:
date,open,High,Low,Close,Volume,Adj,Close
2016-06-30,8.69,8.74,8.66,8.70,36220400,8.70
...
请将平安银行这支股票,在2016中成交量超过50000000的记录存储到另一个csv文件中
思路:
使用标准库中的csv模块,可以使用其中的reader和writer完成文件读写
代码:
import csv
from urllib.request import urlretrieve
# 通过urlretrieve的方法下载文件到本地,code后接要抓取的股票代码号,&后接的是时间,可以省略
urlretrieve(‘http://quotes.money.163.com/service/chddata.html?code=1002566&start=20150104&end=20160108‘,‘yikang.csv‘)
# 下面过滤出想要的数据信息,注意编码的方式
with open(‘yikang.csv‘,‘r‘,encoding=‘gbk‘) as rf: # 若是python二中则要以rb的方法打开
reader = csv.reader(rf) # 得到一个迭代器的对象
with open(‘yikang2.csv‘,‘w‘,encoding=‘gbk‘) as wf:
writer = csv.writer(wf)
# 写入header
headers = next(reader) # 迭代器的next()方法
writer.writerow(headers)
# 根据条件对数据进行过滤
for row in reader:
if row[0] < ‘2016-01-01‘:
break
if int(float(‘124872735.08‘)) > 50000000: # 注意要先用float的方法,直接用Int方法会报错
writer.writerow(row)
print(‘end‘)
标签:注意 with open 模块 headers 代码 iter com 记录 数据信息
原文地址:https://www.cnblogs.com/Richardo-M-Q/p/13333975.html