python_如何讀寫csv數據
阿新 • • 發佈:2017-08-04
8.4 __name__ __main__ iter volume 判斷 打開 nbsp 股市
案例:
通過股票網站,我們獲取了中國股市數據集,它以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()
python_如何讀寫csv數據