csv文件很方便讀取。咱們公司的運營部最近要面對新項目上線,須要導入不少數據批量到數據庫中。無疑的,csv是個很好的選擇。下面是我寫的一個讀取csv文件的方法,使用的是python2.7.5:java
1 #!/usr/bin/python 2 # -*- coding: utf-8 -*- 3 # @Date : 2014-04-17 4 # @Author : yfl <yerugemimi@gmail.com> 5 # @Link : https://github.com/YeRuGeMiMi 6 # @Version : 1.0 7 8 #CSV文件的操做工具類 9 #環境:python 2.7.5 10 11 import os.path 12 13 14 #csv_get_lines 讀取CSV文件中指定行的數據,使用的是第一行是title的格式 15 #param: csvfile csv文件路徑 16 #param:lines 讀取指定行數 17 #param: offset 開始行數 18 #param: sign 分隔符 19 #return: [] 20 def csv_get_lines(csvfile,lines,offset=0,sign=','): 21 #判斷文件是否存在 22 if not os.path.exists(csvfile) : 23 return False 24 f=open(csvfile,'r') 25 i=0 26 j=0 27 datas=[] 28 for line in f : 29 #讀取title 30 if i == 0: 31 line=line.strip('\n') 32 titles=line.split(sign) 33 34 #跳到指定的開始行 35 i=i+1 36 if i<offset : 37 continue 38 39 #以[{title:data,title:data,title:data}]的格式輸出數據 40 if j<lines : 41 j=j+1 42 line=line.strip('\n') 43 data=line.split(sign) 44 #判斷文件的格式是否正確 45 if not len(titles) == len(data) : 46 return False 47 48 datas.append(dict(zip(titles,data))) 49 50 return datas
這個方法對於格式的檢查仍是太差了,我僅僅只對數目進行了檢查。恩,過個幾天再加強一下。或許應該講檢查抽取成另外一個方法。
這個方法,我還用java實現了。就不貼出來,感興趣的,能夠訪問個人github:python