本文实例讲述了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