Python基于csv模块实现读取与写入csv数据的方法

yipeiwu_com6年前Python基础

本文实例讲述了Python基于csv模块实现读取与写入csv数据的方法。分享给大家供大家参考,具体如下:

通过csv模块可以轻松读取格式为csv的文件,而且csv模块是python内置的,不需要下载就可以直接用。

一、准备csv文件

文件名是 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

二、读取csv数据

代码非常简单:

# -*- 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数据

# -*- 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相关内容感兴趣的读者可查看本站专题:《Python操作Excel表格技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

Pycharm新手教程(只需要看这篇就够了)

Pycharm新手教程(只需要看这篇就够了)

pycharm是一款高效的python IDE工具,它非常强大,且可以跨平台,是新手首选工具!下面我给第一次使用这款软件的朋友做一个简单的使用教程,希望能给你带来帮助! 目前pycha...

Python 绘制酷炫的三维图步骤详解

Python 绘制酷炫的三维图步骤详解

通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,比如像下面这样的: 这些图怎么做出来呢?今天就来分享下如何一步步绘制出三维矢量(SVG)图。 八面体 我们先...

python实现朴素贝叶斯算法

本代码实现了朴素贝叶斯分类器(假设了条件独立的版本),常用于垃圾邮件分类,进行了拉普拉斯平滑。 关于朴素贝叶斯算法原理可以参考博客中原理部分的博文。 #!/usr/bin/pytho...

python 进程间数据共享multiProcess.Manger实现解析

一、进程之间的数据共享 展望未来,基于消息传递的并发编程是大势所趋 即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合,通过消息队列交换数据。 这样极大地减少了对使用锁定和其他...

详解Python的Django框架中manage命令的使用与扩展

【简介】 django-admin.py是Django的一个用于管理任务的命令行工具。本文将描述它的大概用法。 另外,在每一个Django project中都会有一个manage.py。...