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 模块的使用的更多相关文章

  1. Python CSV模块简介

    Table of Contents 1. CSV 1.1. 简介 1.2. 字典方式地读写 1.3. 其它 2. 参考资料 CSV csv文件格式是一种通用的电子表格和数据库导入导出格式.最近我调用R ...

  2. Python CSV模块处理文件读写

    下面是一个简单的csv文件 Title,Release Date,Director And Now For Something Completely Different,1971,Ian MacNau ...

  3. python csv模块的reader是一个迭代器,无法多次迭代

    在一个项目中,我需要多次遍历一个文本,该文本我是用csv.reader读取的.但后来发现,本文只对第一次循环有用,而之后的循环均为空白.经过排错后,我确定问题就出现在csv.reader()这一步.之 ...

  4. Python csv模块的使用

    1.csv简介 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本 格式,用以存储表格数据,包括数字或者字符.很多程序在 ...

  5. CSV模块

    Python csv模块的使用 1.csv简介 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本 格式,用以存储表格数 ...

  6. CSV模块的使用

    1.csv简介 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本 格式,用以存储表格数据,包括数字或者字符.很多程序在 ...

  7. Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函数 os模块 hashlib模块 platform模块 csv模块

    Python第十一天    异常处理  glob模块和shlex模块    打开外部程序和subprocess模块  subprocess类  Pipe管道  operator模块   sorted函 ...

  8. Python中csv模块解析

    导入模块 import csv 2.读取csv文件 file1 = open('test1.csv', 'rb') reader = csv.reader(file1) rows = [row for ...

  9. Python之CSV模块

    1. CSV简介 CSV(Comma Separated Values)是逗号分隔符文本格式,常用于Excel和数据库的导入和导出,Python标准库的CSV模块提供了读取和写入CSV格式文件的对象. ...

随机推荐

  1. MariaDB修改端口号

    修改端口号 打开my.ini文件

  2. 【洛谷P1073】[NOIP2009]最优贸易

    最优贸易 题目链接 看题解后感觉分层图好像非常NB巧妙 建三层n个点的图,每层图对应的边相连,权值为0 即从一个城市到另一个城市,不进行交易的收益为0 第一层的点连向第二层对应的点的边权为-w[i], ...

  3. Entity Framework5.0运行时错误ObjectStateManager 中已存在具有同一键的对象

    EF写了个简单的框架,在把查询出来的数据修改回去时,报了ObjectStateManager 中已存在具有同一键的对象这样一个错误,寻寻觅觅终于找到了最终的解决方案. ObjectStateManag ...

  4. C# 程序启动其他进程程序

    1  启动一个独立进程,需要用到的命名空间是:using System.Diagnostics;   进程类是 Process ,进程的相关参数信息类是 ProcessStartInfo 2  等待启 ...

  5. uCOS-II消息邮箱的使用

    具体使用方法与信号量的方式大同小易.   首先建立一个OS_EVENT结构体(事件控制块)的指针:   OS_EVENT *MSBOX;   然后建立消息邮箱,返回值为事件控制块的指针:   MSBO ...

  6. SpringBoot非官方教程 | 第七篇:springboot开启声明式事务

    转载请标明出处: http://blog.csdn.net/forezp/article/details/70833629 本文出自方志朋的博客 springboot开启事务很简单,只需要一个注解@T ...

  7. Flask—02-Flask会话控制与模板引擎

    会话控制原理 说明:概念百度说明的很详细,请自行百度 cookie 说明: 由于HTTP协议无状态无连接的特点,导致一个用户在同一网站做连续操作时,需要不断的提供身份信息:为了解决这个问题,我们可以通 ...

  8. eclipse的中文插件链接及使用方法

    链接:http://www.eclipse.org/babel/downloads.php 帮助-->安装-->打开链接使用链接里面的语言包下载地址-->下载安装-->完成

  9. CALayer层的属性(转)

    一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint  position:  (1)用来设置CALayer在父层中的 ...

  10. 简明 ES6 模块

    简明 ES6 模块 1.什么是模块 模块就是一段代码,这段代码可以反复使用,经常单独写成一个文件,一旦加载会立即执行. 2.导出 导出有 2 种方式:命名导出和默认导出,分别用关键字export和ex ...