大家好,又见面了,我是你们的朋友全栈君。
csv英文全称是Comma-Separated Value,字面翻译逗号分隔值,是一种常见的文本格式文档,可用Excel打开,也可用常见的文本编辑器打开。csv文件经常用于在电子表格软件和纯文本之间交互数据。
Python内置了csv模块,可以很方便的操作csv文件。下面介绍两种读写csv文件的方法。
一、通过reader和writer函数
先看一段简单的示例代码:
text包含两个列表元素,首先把这两行写入csv文件,然后读取打印。写入时,先获取文件对象f,然后通过csv模块的writer函数得到writer对象,writer对象提供writerow方法将text逐行写入文件;读取时,通过reader函数得到一个可迭代对象,然后打印文件每行。从打印结果看到,text的数字100已经转换为字符串了。
代码中的newline参数很重要,在写入时,如果没有指定newline=”,则会出现空行,因为写入时在’\r\n’前加入了’\r’。结果如下图:
默认情况下,csv分隔符为逗号,那么当字符串中也包含逗号会怎样呢?比如text中的’Python,小黑’,从上图可以看到它正确的显示在一个单元格里了,怎么实现的?我们用记事本打开csv文件,如下图,原来是在包含逗号的字符串首尾添加了双引号,以此避免逗号混乱。
事实上,这里的分隔符逗号和引用符双引号都可以自定义,下面的代码中将分隔符设为冒号,引用符设为%:
用记事本查看csv文件,结果如下:
二、通过DictReader和DictWriter类
csv模块还提供了DictReader类和DictWriter类,用于按字典方式读取或写入csv文件。看下图示例代码:
上图代码中,在写文件时,首先实例化DictWriter类,将列表keys作为列的标题,然后,writeheader写入标题,writerows写入一个字典,字典的键即是列的标题。用Excel打开csv文件,如下图:
读取时,首先实例化DictReader类,得到一个可迭代对象,然后根据字典键值对打印信息。利用DictReader读取csv文件时,自动把第一行各单元格的值作为字典的键。
两种读写csv文件的方法都很方便,根据实际情况选用,或者根据心情选用……
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162468.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...