python读取csv文件

csv文件很方便读取。我们公司的运营部最近要面对新项目上线,需要导入很多数据批量到数据库中。无疑的,csv是个很好的选择。下面是我写的一个读取csv文件的方法,使用的是python2.7.5:

 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('
')
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('
')
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:

https://github.com/YeRuGeMiMi

原文地址:https://www.cnblogs.com/chengxuyuanxiaoye/p/3688297.html