天天看點

CSV輸入輸出

 讀取csv檔案:

import csv
cf = open('D:\pywe.csv','rb')
cf.readline() #讀取标題行,光标移動到下一行(相當于調過标題行)
for l in csv.reader(cf):
    print l[0],l[1] #l為list


import csv
cf = open('D:\pywe.csv','rb')
for l in csv.DictReader(cf): #通過DictReader讀取列字段
    print l['Name'],l['State'] #l為dict      

輸出到csv檔案:

import csv
csv_wfile = open('csvtest.csv','ab')
csv_writer = csv.writer(csv_wfile)
csv_writer.writerow(['name','age','phone'])  #寫入單行資料
data=[
('Lily',20,131),
('Lucy',25,138)
     ]   
csv.writerows(data)  #寫入多行資料
csv_wfile.close()      
#讀取servers.txt中的資料,追加到csvtest.csv檔案
import os,csv
of = open('servers.txt','r') #定義源檔案名稱
ofw=open('csvtest.csv','a') #定義csv檔案名稱,追加模式
#ofw= open('csvtest.csv','ab') 以二進制模式打開檔案
csv_writer = csv.writer(ofw)
for f in of:
  fn = f[:-1] #delete the last char("\n")
  f_list=fn.split(',') #convert string to list
  csv_writer.writerow(f_list)

of.close()
ofw.close()