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程序设计有所帮助。

相关文章

django之对FileField字段的upload_to的设定方法

用django开发,经常要处理用户上传的文件, 比如user模型里面如果又个人头像的字段 ImageField等等,而django在FielField字段(包括ImageField)的支...

Python3中lambda表达式与函数式编程讲解

简单来说,编程中提到的 lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。其一般有如下几种使用方式: 1、lambda的一般形式是关...

python3+PyQt5 数据库编程--增删改实例

python3+PyQt5 数据库编程--增删改实例

本文通过python3+pyqt5改写实现了python Qt gui 编程变成15章的excise例子。 #!/usr/bin/env python3 import os impo...

Python自动化之数据驱动让你的脚本简洁10倍【推荐】

Python自动化之数据驱动让你的脚本简洁10倍【推荐】

前言 数据驱动是一种思想,让数据和代码进行分离,比如爬虫时,我们需要分页爬取数据时,我们往往把页数 page 参数化,放在 for 循环 range 中,假如没有 range 这个自带...

Django admin美化插件suit使用示例

Django admin美化插件suit使用示例

本文主要对Django美化插件做一个简单介绍,具体如下。 Django Suit 效果 使用前django页面 使用后django页面 安装 官方文档 http://django-s...