pythonCSV内置模块应用
一、Python内置模块CSV
CSV,即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本格式,用以存储表格数据,包括数字或者字符。如下图所示:


CSV类似于Excel格式
很多程序在处理数据时都会碰到csv这种格式的文件,它的使用是比较广泛的,csv虽然使用广泛,但却没有通用的标准,所以在处理csv格式时常常会碰到麻烦,幸好python内置了csv模块。
二、CSV实操
实例1:读取CSV文件

import csv
#读取csv第一种方式
csvfile = open('budaoguan.csv','r')
# 返回迭代类型
reader = csv.reader(csvfile)
print(reader) # 定义列表
data = []
# 遍历csv文件
for row in reader:
print(row)
data.append(row)
# 输出列表
print(data)
print(data[0][1])
#读取csv第一种方式
实例2:读取并写入CSV文件

读取csv第二种方式
<_csv.reader object at 0x0000000001DF0C78>
['fu', '', '']
['fuguang', '', '']
['fuguangli', '', '']
[['fu', '', ''], ['fuguang', '', ''], ['fuguangl', '', '']]
123456
运行结果
实例3:字典写入CSV文件方法一列表写入和方法二字典写入

# 向CSV文件写入数据方法一:列表写入
data=[['test1', ''], ['test2', ''], ['test3', ''], ['test4', '']]
# csvfile=open('data.csv','w') #csv写入文件,默认会加换行
csvfile=open('data.csv','w',newline='')# 加 newline='' 取消换行
writer=csv.writer(csvfile)
for i in range(len(data)):
writer.writerow(data[i])
向CSV文件写入数据方法一:列表写入

# 向CSV文件写入数据方法二:字典写入
dic={'zhangsan':123456,'lisi':'','wangwu':''}
csvfile=open('data.csv','w',newline='')
writer=csv.writer(csvfile)
for key in dic:
writer.writerow([key,dic[key]]) csvfile.close()
向CSV文件写入数据方法二:字典写入
三、try与with语句的不同

pythonCSV内置模块应用的更多相关文章
- Python基础篇【第5篇】: Python内置模块(二)
内置模块 1. OS os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell ...
- python基础知识9——模块2——常见内置模块
内置模块 内置模块是Python自带的功能,在使用内置模块相应的功能时,需要[先导入]再[使用] 1.sys 用于提供对Python解释器相关的操作: sys.argv 命令行参数List,第一个元素 ...
- python(八)内置模块logging/os/time/sys/json/pickle
模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护.为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少 ...
- python内置模块(4)
这一部分是python内置模块系列的最后一部分,介绍了一些小巧有用的内置模块. 目录: 1.random 2.shelve 3.getpass 4.zipfile 5.tarfile 6.bisect ...
- Python内置模块(2)
这一部分主要介绍sys.os.hashlib和re模块.其中的re模块介绍得非常详细,是本部分的重点! 均为python3.5.1环境. 一.sys模块 sys模块涉及的主要是与python解释器相关 ...
- python内置模块(1)
Python的模块在其它语言中通常称为库或类库,也就是lib.它是编程语言的第三级封装,第四级则是包,也就是模块的打包组合,而前两级分别是函数和类.封装的好处,自然不用多言,高内聚,松耦合,减少代码重 ...
- Python_Day_5装饰器、字符串格式化、序列化、内置模块、生成器、迭代器之篇
一.装饰器 为什么要用装饰器??? 在实际的开发环境中应遵循开发封闭原则,虽然在这个原则是用的面向对象开发,但也适用于函数式编程,简单地说,它规定已经实现的功能代码不是允许修改的,但是可以被扩展: 封 ...
- Python开发【第一篇】Python基础之自定义模块和内置模块
为什么要有模块,将代码归类.模块,用一砣代码实现了某个功能的代码集合. Python中叫模块,其他语言叫类库. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代 ...
- python成长之路第三篇(4)_作用域,递归,模块,内置模块(os,ConfigParser,hashlib),with文件操作
打个广告欢迎加入linux,python资源分享群群号:478616847 目录: 1.作用域 2.递归 3.模块介绍 4.内置模块-OS 5.内置模块-ConfigParser 6.内置模块-has ...
随机推荐
- iTerm 2 与 oh-my-zsh配合,自定义你的终端。
参考博客:https://www.cnblogs.com/xishuai/p/mac-iterm2.html 参考博客:https://www.cnblogs.com/sasuke6/p/497607 ...
- img 标签上的src 链接图片不存在时 怎么处理
// .html <img [src]="nzSrc" *ngIf="nzSrc && hasSrc" (error)="img ...
- 生成JavaDoc文档
JavaDoc是一种将注释生成HTML文档的技术,生成的HTML文档类似于Java的API,易读且清晰明了.在简略介绍JavaDoc写法之后,再看一下在Intellij Idea 中如何将代码中的注释 ...
- 「Flink」事件时间与水印
我们先来以滚动时间窗口为例,来看一下窗口的几个时间参数与Flink流处理系统时间特性的关系. 获取窗口开始时间Flink源代码 获取窗口的开始时间为以下代码: org.apache.flink.str ...
- MySQL存储过程和游标
一.存储过程 什么是存储过程,为什么要使用存储过程以及如何使用存储过程,并且介绍创建和使用存储过程的基本语法. 什么是存储过程: 存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些 ...
- gradle与android studio 关系及gradle配置
前言 我们一般开发android 使用android studio ,android studio 安装的时候,会帮我们做两件事,配置好自己的jdk. 实际上,使用的其实不是我们在path中配置的jd ...
- Docker 网络原理
引言 学习docker网络,可以带着下面两个问题来探讨 容器之间可以相互访问的原理 容器暴露端口后,通过宿主机访问到容器内应用,并且对于访问端而言不用感知容器存在的原理 Docker 本身的技术依赖L ...
- Neo4j入门-开始使用
前言 关系,指事物之间相互作用.相互影响的状态. 数据之间的关系也是如此,数据之间关系的存储在RDS就已经开始.从数据库支持的外键,到手动建立的关系表,人们采取了许多方法,只为了解决查询复杂.缓慢等问 ...
- nvm Nodejs 版本管理器 安装及配置
1.如果已安装nodejs请先卸载干净 nodejs:删除C:\Program Files\nodejs 文件夹 npm:删除C:\Users\{用户名}\AppData\Roaming\npm 文件 ...
- PHP0004:PHP基础3
php写在 标签里