当前位置: 首页 > news >正文

Python中csv文件的操作3

在《Python中csv文件的操作2》中提到,with as语句可以自动关闭文件,而该语句可以和csv模块中的函数配合使用,达到读取和写入csv文件的目的。

1 csv文件的读取

使用csv模块中的函数读取csv文件的代码如图1所示。

图1 使用csv模块中的函数读取csv文件

其中,第1行代码导入csv模块;第2行代码使用with as语句打开csv文件,并保存到f中;第3行代码通过csv模块中的reader()函数获取文件的“读取器”,该函数的参数即为保存文件的变量f;第4-5行代码通过for循环遍历“读取器”reader中的内容,并打印出来。程序运行的效果如图2所示。

图2 程序运行效果

从图2中可以看出,“读取器”reader中的数据是以列表的方式保存的。

2 csv文件的写入

通过csv模块中的“写入器”调用writerow()函数或writerows()函数向csv文件中写入内容。

2.1 writerow()函数

使用writerow()函数向csv文件中写入内容的代码如图3所示。

图3 使用writerow()函数向csv文件中写入内容

第3行代码通过csv模块的writer()方法创建了“写入器”,该方法的参数为保存了打开文件的变量f;第4行代码通过“写入器”writer调用writerow()函数向csv文件中写入内容。writerow()函数的参数是一个列表变量,该函数将列表中的变量写入到同一行,图3所示的代码运行后“水果.csv”文件的内容如图4所示。

图4 “水果.csv”文件的内容

2.2 writerows()函数

使用writerows()函数向csv文件中写入内容的代码如图5所示。

图5 使用writerow()函数向csv文件中写入内容

writerows()函数的参数是一个列表变量,该函数的作用是将列表中的每个元素写入到csv文件中的一行,不同的元素写入到不同的行。因此,图5所示的代码运行后,“水果.csv”文件的内容如图6所示。

图6 “水果.csv”文件的内容

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • PyQt 迁移到 PySide
  • 二十三种模式之单例模式(基础了解)
  • 内部类java
  • 搭建多协议的串口服务器流程:RS-232、RS-485和TCP/IP、MQTT网络协议(代码示例)
  • 主机安全管理系统是什么?企业系统购买指南:2024年5款最佳选择
  • 区县邻近矩阵和区县质心距离矩阵
  • 如何选择AQL对应不同类型的产品?
  • 【数模资料包】最新数模国赛word+latex模版|数模常用的算法python+matlab代码
  • 304状态码
  • SOMEIP_ETS_067: UINT8Array_with_Length_0_strips_Payload
  • 应用程序编程接口 (API) — 简单解释
  • 飞睿智能家居人体微动感知雷达模组,宠物喂食器、LED灯控连续波雷达感应开关原理
  • 计算机网络信息安全,零基础入门到精通,收藏这一篇就够了!
  • TTS 文本 vs SSML
  • MIT APP Inventor服务器版编译
  • [译]CSS 居中(Center)方法大合集
  • 《深入 React 技术栈》
  • 「译」Node.js Streams 基础
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • Angular Elements 及其运作原理
  • C++类的相互关联
  • ES6系列(二)变量的解构赋值
  • HTTP中GET与POST的区别 99%的错误认识
  • linux安装openssl、swoole等扩展的具体步骤
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • linux学习笔记
  • markdown编辑器简评
  • python 装饰器(一)
  • React-flux杂记
  • Sequelize 中文文档 v4 - Getting started - 入门
  • vue--为什么data属性必须是一个函数
  • vue自定义指令实现v-tap插件
  • 闭包--闭包作用之保存(一)
  • 翻译:Hystrix - How To Use
  • 将回调地狱按在地上摩擦的Promise
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 数组大概知多少
  • 正则学习笔记
  • ​水经微图Web1.5.0版即将上线
  • # linux 中使用 visudo 命令,怎么保存退出?
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .bashrc在哪里,alias妙用
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET开源快速、强大、免费的电子表格组件
  • .NET文档生成工具ADB使用图文教程
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • [1] 平面(Plane)图形的生成算法