怎么用python打开csv文件_Python文本处理之csv-csv文件怎么打开[通俗易懂]

怎么用python打开csv文件_Python文本处理之csv-csv文件怎么打开[通俗易懂]csv英文全称是Comma-SeparatedValue,字面翻译逗号分隔值,是一种常见的文本格式文档,可用Excel打开,也可用常见的文本编辑器打开。csv文件经常用于在电子表格软件和纯文本之间交互数据。Python内置了csv模块,可以很方便的操作csv文件。下面介绍两种读写csv文件的方法。一、通过reader和writer函数先看一段简单的示例代码:text包含两个列表元素,首先把这两行…

大家好,又见面了,我是你们的朋友全栈君。

csv英文全称是Comma-Separated Value,字面翻译逗号分隔值,是一种常见的文本格式文档,可用Excel打开,也可用常见的文本编辑器打开。csv文件经常用于在电子表格软件和纯文本之间交互数据。

Python内置了csv模块,可以很方便的操作csv文件。下面介绍两种读写csv文件的方法。

一、通过reader和writer函数

先看一段简单的示例代码:

19332V1O-0.jpg

text包含两个列表元素,首先把这两行写入csv文件,然后读取打印。写入时,先获取文件对象f,然后通过csv模块的writer函数得到writer对象,writer对象提供writerow方法将text逐行写入文件;读取时,通过reader函数得到一个可迭代对象,然后打印文件每行。从打印结果看到,text的数字100已经转换为字符串了。

代码中的newline参数很重要,在写入时,如果没有指定newline=”,则会出现空行,因为写入时在’\r\n’前加入了’\r’。结果如下图:

19332U621-1.jpg

默认情况下,csv分隔符为逗号,那么当字符串中也包含逗号会怎样呢?比如text中的’Python,小黑’,从上图可以看到它正确的显示在一个单元格里了,怎么实现的?我们用记事本打开csv文件,如下图,原来是在包含逗号的字符串首尾添加了双引号,以此避免逗号混乱。

19332U237-2.jpg

事实上,这里的分隔符逗号和引用符双引号都可以自定义,下面的代码中将分隔符设为冒号,引用符设为%:

19332W623-3.jpg

用记事本查看csv文件,结果如下:

19332U3b-4.jpg

二、通过DictReader和DictWriter类

csv模块还提供了DictReader类和DictWriter类,用于按字典方式读取或写入csv文件。看下图示例代码:

19332T934-5.jpg

上图代码中,在写文件时,首先实例化DictWriter类,将列表keys作为列的标题,然后,writeheader写入标题,writerows写入一个字典,字典的键即是列的标题。用Excel打开csv文件,如下图:

19332SE3-6.jpg

读取时,首先实例化DictReader类,得到一个可迭代对象,然后根据字典键值对打印信息。利用DictReader读取csv文件时,自动把第一行各单元格的值作为字典的键。

两种读写csv文件的方法都很方便,根据实际情况选用,或者根据心情选用……

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162468.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pandoc latex转word_使用latex格式编辑word

    pandoc latex转word_使用latex格式编辑word1、TeXstudio中输出为pdf,用word打开另存为A.docx2、使用(https://pandoc.org/),命令行:pandoc-s.\XXX.tex-o.\B.docx3

    2022年8月3日
    6
  • phpsotrm 激活码_通用破解码

    phpsotrm 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    44
  • 什么是bs模型_cs模型人物看不见

    什么是bs模型_cs模型人物看不见C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。(用的是ip,tcp/udp通信协议)B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种…

    2022年9月17日
    0
  • currentstyle 织梦_织梦channel标签currentstyle样式无效不起作用

    currentstyle 织梦_织梦channel标签currentstyle样式无效不起作用我们在用织梦系统制作网站时,经常会用到channel标签来调子栏目。但是,很多朋友会遇到这种情况在使用channel标签来调子栏目的时候,指定“type=sontypeid=x”发现currentstyle无效。今天笔者就跟大家分享一下解决方法。1、解决channel标签currentstyle样式无效不起作用的错误方法代码如下:{dede:type=’son’typeid=’12’c…

    2022年7月14日
    14
  • 更新本地DNS缓存列表[通俗易懂]

    更新本地DNS缓存列表[通俗易懂]更新本地DNS缓存列表当我们以域名形式访问过目标网站后,该网站的域名和IP地址对应关系就会自动保存到本地工作站的DNS缓存列表中,日后IE浏览器会优先访问DNS缓存列表中的信息,不过一旦此时目标站点的域名和IP地址对应关系发生变动的话,DNS缓存列表中的对应解析记录不会跟着同步变化,那么日后我们再次以域名形式访问目标站点时就容易发生DNS解析不成功的故障。这个时候,…

    2022年5月5日
    94
  • Google Borg论文[通俗易懂]

    Google Borg论文[通俗易懂]Borg的论文逐字翻译,拒绝机器翻译,有一些自己的理解,不一定对,作为参考就行

    2022年10月22日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号