Python读写CSV数据:基于股票交易记录的筛选与存储示例
本文介绍如何使用Python的csv模块读取和写入CSV文件。通过一个股票数据集案例,演示如何打开CSV文件,遍历数据行,并根据特定条件(如2016年且成交量超过500000)筛选记录,最终将符合条件的数据写入新的CSV文件中。
本文分享了一段Python代码,用于演示如何具体读写CSV格式的数据,供读者参考学习。
具体案例如下:
我们从股票网站获取了中国股市的数据集,该数据集以CSV格式进行存储。
数据包含以下字段:Data(日期), Open(开盘价), High(最高价), Low(最低价), Close(收盘价), Volume(成交量), Adj Close(复权收盘价)。
示例数据行:2016-06-28, 8.63, 8.47, 8.66, 8.70, 500000, 8.70
示例数据行:2016-06-28, 8.63, 8.47, 8.66, 8.70, 500000, 8.70
示例数据行:2016-06-28, 8.63, 8.47, 8.66, 8.70, 500000, 8.70
......
需求:请将2016年成交量超过500000的记录存储到另一个CSV文件中。
什么是CSV类型数据?
CSV数据类似于电子表格,第一行数据通常作为字段名称,后续各条数据以逗号分隔。
如何实现该需求?
处理步骤如下: 首先,获取股票信息的CSV类型数据。 以二进制读模式打开CSV文件,使用csv.reader(文件对象)返回一个迭代器对象,通过该对象进行操作。 以二进制写模式打开新的CSV文件,使用csv.writer(文件对象)返回一个写入器对象,通过该对象进行操作。 循环读取CSV中的数据,通过if判断是否满足需求,将满足条件的数据写入到新的CSV文件中。
#!/usr/bin/python3
import csv
def r_w_csv():
with open('pingan.csv', 'rb') as rf:
# 打开原文件读取进来,csv.read(rf)方式
reader = csv.read(rf)
with open('pingan_copy.csv', 'wb') as wf:
# 打开另外一个文件,csv.writer(wf)方式,写入csv数据头部
writer = csv.writer(wf)
headers = reader.next()
writer.writerrow(headers)
# 给索引命名,增加可读性
data, amount = 0, 5
# 写入时间2016年,营业额大于等于50000000的数据
for row in reader:
if row[data] < '2016-01-01':
break
if int(row[amount]) >= 50000000:
writer.writerrow(row)
if __name__ == '__main__':
r_w_csv()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









