python csv 模块的使用
python csv 模块的使用#
歌曲推荐:攀登(live)
csv 是用逗号分隔符来分隔列与列之间的。
1. csv的写入
1.简单的写入,一次写入一行
import csv
with open("data.csv","w") as file:
writer = csv.writer(file,delimiter=" ")
writer.writerow(["song","singer","rank"])
writer.writerow(["倒数", "邓紫棋", "1"])
writer.writerow(["攀登live", "艾热", "2"])
输入,用文本方式打开csv,显示如下

注意!这里没有用逗号隔开,是因为我用了
writer = csv.writer(file,delimiter=" ")
delimiter参数可以修改 分隔符号,我将它设置为了一个空格,若不传入此参数,那么默认分隔符号还是 逗号。
像这样

2.一次写入多行
import csv
with open("data.csv","w") as file:
writer = csv.writer(file,delimiter=",")
writer.writerows(["song","singer","rank"],["倒数", "邓紫棋", "1"],["攀登live", "艾热", "2"])
调用writerows,传入二维列表!
输出

想想分隔符为什么又变成了逗号???(魅惑一笑)
3.字典格式化数据写入
import csv
with open("data.csv","w") as file:
#定义头信息
fieldnames = ['song', "singer", "rank"]
writer = csv.DictWriter(file,fieldnames=fieldnames)
#将头信息写入
writer.writeheader()
writer.writerow({"song":"倒数","singer":"邓紫棋","rank":"1"})
writer.writerow({"song": "攀登", "singer": "艾热", "rank": "2"})
writer.writerows([{"song": "攀登", "singer": "艾热", "rank": "2"},{"song": "攀登", "singer": "艾热", "rank": "2"}])
输出

用wps查看,结果如下

注意!观察
writer.writerows([{"song": "攀登", "singer": "艾热", "rank": "2"},{"song": "攀登", "singer": "艾热", "rank": "2"}])
这里用到了多次输入多行,字典列表也可以哦。
ps:我不知到为啥 wps 里面有那么多的空格,感觉是多了一行。
重点!来了
4.open()函数的用法!如何追加写入数据?
如何追加写入,open()函数的第二个函数改成"a",之前我没有改,用的是"w",结果写来写去只有最后一条的输入数据。这里很坑的!!!!注意!!!!
这里详细总结了一下,菜鸟教程

ps:注意写入文件的编码,如果有中文的时候,最好给open()函数指定参数,encoding="utf-8",等类似的格式。
2.csv 的读取
最简单的读取:
import csv
with open("data.csv","r",encoding="gbk") as file:
reader=csv.reader(file)
for row in reader:
print(row)
结果

ps:注意open()打开方式,第二个参数,还有编码。另外,之前字典存储进入之后,确实是多了空行,问题原因不太清楚。
python csv 模块的使用的更多相关文章
- Python CSV模块简介
Table of Contents 1. CSV 1.1. 简介 1.2. 字典方式地读写 1.3. 其它 2. 参考资料 CSV csv文件格式是一种通用的电子表格和数据库导入导出格式.最近我调用R ...
- Python CSV模块处理文件读写
下面是一个简单的csv文件 Title,Release Date,Director And Now For Something Completely Different,1971,Ian MacNau ...
- python csv模块的reader是一个迭代器,无法多次迭代
在一个项目中,我需要多次遍历一个文本,该文本我是用csv.reader读取的.但后来发现,本文只对第一次循环有用,而之后的循环均为空白.经过排错后,我确定问题就出现在csv.reader()这一步.之 ...
- Python csv模块的使用
1.csv简介 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本 格式,用以存储表格数据,包括数字或者字符.很多程序在 ...
- CSV模块
Python csv模块的使用 1.csv简介 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本 格式,用以存储表格数 ...
- CSV模块的使用
1.csv简介 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本 格式,用以存储表格数据,包括数字或者字符.很多程序在 ...
- Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函数 os模块 hashlib模块 platform模块 csv模块
Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函 ...
- Python中csv模块解析
导入模块 import csv 2.读取csv文件 file1 = open('test1.csv', 'rb') reader = csv.reader(file1) rows = [row for ...
- Python之CSV模块
1. CSV简介 CSV(Comma Separated Values)是逗号分隔符文本格式,常用于Excel和数据库的导入和导出,Python标准库的CSV模块提供了读取和写入CSV格式文件的对象. ...
随机推荐
- o'Reill的SVG精髓(第二版)学习笔记——第三章
第三章:坐标系统 3.1视口 文档打算使用的画布区域称作视口.我们可以在<svg>元素上使用width和height属性确定视口的大小.属性的值可以是一个数字,该数字会被当作用户坐标下的像 ...
- js 事件委托 事件代理
JavaScript高级程序设计上解释:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件. 通过例子类比: 有三个同事预计会在周一收到快递.为签收快递,有两种办法:一是三 ...
- 制作npm插件vue-toast-m实例练习
制作npm插件vue-toast-m实例练习(消息弹窗) 一.使用npm插件 import VueToast from 'vue-toast-demo-cc' Vue.use(VueToast) th ...
- SpringBoot非官方教程 | 第十篇: 用spring Restdocs创建API文档
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot10-springrestdocs/ 本文出自方志 ...
- linux下通过源码安装git
1.移除旧版本git [root@Git ~]# git --version ## 查看自带的版本git version 1.8.3.1 [root@Git ~]# yum remove git ## ...
- 开发的服务集群部署方案,以etcd为基础(java)
当前有很多服务集群部署,但是对于我们自己开发的服务系统怎么样能够解决部署问题,对大家很麻烦和笨重. 首先,我想说对于我们国内,小公司小系统比较多.大型系统毕竟少数,向阿里云看齐的不多.其实所谓的需要集 ...
- css3 RGBA 红色R+绿色G+蓝色B+Alpha通道
语法: R:红色值.正整数 | 百分数 G:绿色值.正整数 | 百分数 B:蓝色值.正整数| 百分数 A:透明度.取值0~1之间 取值: <length>:Hue(色调).0(或360)表 ...
- 揭开redux,react-redux的神秘面纱
16年开始使用react-redux,迄今也已两年多.这时候再来阅读和读懂redux/react-redux源码,虽已没有当初的新鲜感,但依然觉得略有收获.把要点简单写下来,一方面供感兴趣的读者参考, ...
- v-if和v-show的区别以及callback回调函数的体会
今天总结一下最近一周碰到的一些问题 一.v-if和v-show的区别 v-show用的是css属性中的display="block/none",元素被隐藏了但是节点还在页面中,但是 ...
- loushang框架的开发中关于BSP的使用,将写好的功能模块部署到主页界面结构上
前言: 当我们已经开发好相应的模块或者功能的时候,需要将这个功能部署在index主页上作为可点击直接使用的模块,而不是每次需要去浏览对应的url地址. 这时候就需要运用到L5的BSP. 作为刚刚入门l ...