1. 程式人生 > >python_如何讀寫csv數據

python_如何讀寫csv數據

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類型數據?

類似表單,第一行數據是字段名字,單獨數據以逗號隔開

如何做?

  1. 獲取股票信息的csv類型數據
  2. 以二進制讀的形式打開csv類型數據,csv.reader(文件描敘符)返回一個對象,通過對象操作
  3. 以二進制寫的形式打開新的csv數據,csv.writerrow(文件描敘符)返回一個對象,通過對象操作
  4. 循環讀取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數據