案例:
通过股票网站,我们获取了中国股市数据集,它以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.reader(文件描叙符)返回一个对象,通过对象操作
- 以二进制写的形式打开新的csv数据,csv.writerrow(文件描叙符)返回一个对象,通过对象操作
- 循环读取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()
时间: 2024-11-07 17:49:06