怎么用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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • [Python人工智能] 九.gensim词向量Word2Vec安装及《庆余年》中文短文本相似度计算

    [Python人工智能] 九.gensim词向量Word2Vec安装及《庆余年》中文短文本相似度计算从本专栏开始,作者正式开始研究Python深度学习、神经网络及人工智能相关知识。前一篇详细讲解了卷积神经网络CNN原理,并通过TensorFlow编写CNN实现了MNIST分类学习案例。本篇文章将分享gensim词向量Word2Vec安装、基础用法,并实现《庆余年》中文短文本相似度计算及多个案例。本专栏主要结合作者之前的博客、AI经验和相关文章及论文介绍,后面随着深入会讲解更多的Python人工智能案例及应用。基础性文章,希望对您有所帮助~

    2022年6月8日
    29
  • linux rm 命令详解,Linux rm命令使用指南「建议收藏」

    linux rm 命令详解,Linux rm命令使用指南「建议收藏」Linux系统的众多命令中,rm命令主要用于删除文件,下面小编就来详解介绍下Linux系统的rm命令,希望对初学者有一定的帮助。名称:rm使用权限:所有使用者使用方式:rm[options]name.。。说明:删除档案及目录。参数:?-i删除前逐一询问确认。-f即使原档案属性设为唯读,亦直接删除,无需逐一确认。-r将目录及以下之档案亦逐一删除。范例:删除所有C语言程式档;删除前逐一询问确…

    2025年6月29日
    1
  • pip安装scrapy失败_scrapy框架运行

    pip安装scrapy失败_scrapy框架运行错误如图所示,running setup.py install for Twisted…..errorTwisted依赖库安装报错,重新下载手动安装一下下载网址:https://www.lfd.uci.edu/~gohlke/pythonlibs注意:看下安装的python是什么版本,我安装的python 3.9.0,就下载cp39,64位的下载安装的版本不对,就会报:Twisted-20.3.0-cp38-cp38-win_amd64.whl is not a support…

    2022年8月18日
    4
  • 关于height:100%和height:100vh的区别

    关于height:100%和height:100vh的区别关于height:100%和height:100vh的区别vh就是当前屏幕可见高度的1%,也就是说height:100vh==height:100%;但是当元素没有内容时候,设置height:100%,该元素不会被撑开,此时高度为0,但是设置height:100vh,该元素会被撑开屏幕高度一致。…

    2022年4月28日
    76
  • nbsp啥意思_UG拆分体

    nbsp啥意思_UG拆分体转载:http://blog.csdn.net/olei_oleitao/article/details/7919307 一、DM36X的BOOT过程介绍DM36x的BOOT过程和DM6446、DM6467完全是一样的,因为都是ARM926EJS架构,里边都有一个RBL,这RBL在芯片出厂的时候都烧写在ROM里,芯片上电复位后RBL在运行,然后读取BOOTMODE引脚的电平状态,决定

    2022年8月13日
    3
  • http://www.nginx.cn/install

    http://www.nginx.cn/install

    2022年3月4日
    32

发表回复

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

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