本文实例讲述了Python基于csv模块实现读取与写入csv数据的方法。分享给大家供大家参考,具体如下:
通过csv模块可以轻松读取格式为csv的文件,而且csv模块是python内置的,不需要下载就可以直接用。
一、准备csv文件
文件名是 e:\t.csv,文件内容:
1
2
3
4
5
|
org_id,org_name,state,emp_id
1,销售1,'1',123
2,销售2,'0',321
3,销售3,'1',231
1,,'1',1234
|
二、读取csv数据
代码非常简单:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# -*- coding:gbk -*-
import csv,os
##数据文件 E:\t.csv
##org_id,org_name,state,emp_id
##1,销售1,'1',123
##2,销售2,'0',321
##3,销售3,'1',231
##1,,'1',1234
#拼接文件路径,os.path.sep是路径分隔符
sFilename = 'e:' + os.path.sep + 't.csv'
#打开文件
eFile = open (sFilename)
#读取csv文件
eReader = csv.reader(eFile)
#遍历csv对象获取数据,每一条数据都是一个list,每一列是list中的一个元素
#line_num是行号,这里只读取前100行
for row in eReader:
if eReader.line_num < = 100 :
print ( '行 ' + str (eReader.line_num) + ': ' + str (row)) #打印行号
else :
break
#关闭文件
eFile.close()
|
输出:
三、写入csv数据
1
2
3
4
5
6
7
8
9
|
# -*- coding:gbk -*-
import csv,os
sFilename = os.path.join( 'E:' , 'r.csv' )
eFile = open (sFilename, 'w' ,newline = '')
eWriter = csv.writer(eFile,delimiter = ',' ,lineterminator = '\r\n' )
eWriter.writerow([ 'org_id' , 'org_name' , 'state' , 'emp_id' ])
eWriter.writerow([ 123 , '销售10' , '1' , 1111 ])
eWriter.writerow([ 1234 , '销售16' , '0' , 11115 ])
eFile.close()
|
输出:
希望本文所述对大家Python程序设计有所帮助。
原文链接:http://blog.csdn.net/sqlserverdiscovery/article/details/53490700