使用Python对Csv文件操作实例代码
发布时间 - 2026-01-11 01:05:45 点击率:次csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格:
就可以存储为csv文件,文件内容是:
No.,Name,Age,Score 1,mayi,18,99 2,jack,21,89 3,tom,25,95 4,rain,19,80
假设上述csv文件保存为"test.csv"
1.读文件
如何用Python像操作Excel一样提取其中的一列,即一个字段,利用Python自带的csv模块,有两种方法可以实现:
第一种方法使用reader函数,接收一个可迭代的对象(比如csv文件),能返回一个生成器,就可以从其中解析出csv的内容:比如下面的代码可以读取csv的全部内容,以行为单位:
#!/usr/bin/python3
# -*- conding:utf-8 -*-
__author__ = 'mayi'
import csv
#读
with open("test.csv", "r", encoding = "utf-8") as f:
reader = csv.reader(f)
rows = [row for row in reader]
print(rows)
得到:
[['No.', 'Name', 'Age', 'Score'], ['1', 'mayi', '18', '99'], ['2', 'jack', '21', '89'], ['3', 'tom', '25', '95'], ['4', 'rain', '19', '80']]
要提取其中某一列,可以用下面的代码:
#!/usr/bin/python3
# -*- conding:utf-8 -*-
__author__ = 'mayi'
import csv
#读取第二列的内容
with open("test.csv", "r", encoding = "utf-8") as f:
reader = csv.reader(f)
column = [row[1] for row in reader]
print(column)
得到:
['Name', 'mayi', 'jack', 'tom', 'rain']
注意从csv读出的都是str类型。这种方法要事先知道列的序号,比如Name在第2列,而不能根据'Name'这个标题查询。这时可以采用第二种方法:
第二种方法是使用DictReader,和reader函数类似,接收一个可迭代的对象,能返回一个生成器,但是返回的每一个单元格都放在一个字典的值内,而这个字典的键则是这个单元格的标题(即列头)。用下面的代码可以看到DictReader的结构:
# -*- conding:utf-8 -*-
__author__ = 'mayi'
import csv
#读
with open("test.csv", "r", encoding = "utf-8") as f:
reader = csv.DictReader(f)
column = [row for row in reader]
print(column)
得到:
[{'No.': '1', 'Age': '18', 'Score': '99', 'Name': 'mayi'},
{'No.': '2', 'Age': '21', 'Score': '89', 'Name': 'jack'},
{'No.': '3', 'Age': '25', 'Score': '95', 'Name': 'tom'},
{'No.': '4', 'Age': '19', 'Score': '80', 'Name': 'rain'}]
如果我们想用DictReader读取csv的某一列,就可以用列的标题查询:
#!/usr/bin/python3
# -*- conding:utf-8 -*-
__author__ = 'mayi'
import csv
#读取Name列的内容
with open("test.csv", "r", encoding = "utf-8") as f:
reader = csv.DictReader(f)
column = [row['Name'] for row in reader]
print(column)
得到:
['mayi', 'jack', 'tom', 'rain']
2.写文件
读文件时,我们把csv文件读入列表中,写文件时会把列表中的元素写入到csv文件中。
#!/usr/bin/python3
# -*- conding:utf-8 -*-
__author__ = 'mayi'
import csv
#写:追加
row = ['5', 'hanmeimei', '23', '81']
out = open("test.csv", "a", newline = "")
csv_writer = csv.writer(out, dialect = "excel")
csv_writer.writerow(row)
得到:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# python操作csv
# python
# csv
# csv文件读写
# Python csv文件的读写操作实例详解
# 一文秒懂python读写csv xml json文件各种骚操作
# Python常见读写文件操作实例总结【文本、json、csv、pdf等】
# Python操作csv文件实例详解
# Python程序中用csv模块来操作csv文件的基本使用教程
# python读取csv文件示例(python操作csv)
# Python3操作读写CSV文件使用包过程解析
# 种方法
# 可以用
# 就可以
# 单元格
# 都是
# 迭代
# 放在
# 列表中
# 则是
# 可以看到
# 可以实现
# 自带
# 有两种
# 想用
# 如何用
# 大家多多
# 文本文件
# 保存为
# 这种方法
# jack
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel Fortify是什么,和Jetstream有什么关系
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
香港服务器选型指南:免备案配置与高效建站方案解析
Android 常见的图片加载框架详细介绍
Laravel如何记录自定义日志?(Log频道配置)
黑客如何通过漏洞一步步攻陷网站服务器?
如何挑选高效建站主机与优质域名?
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
怎么用AI帮你为初创公司进行市场定位分析?
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
如何在Windows环境下新建FTP站点并设置权限?
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
如何快速搭建高效香港服务器网站?
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
JavaScript Ajax实现异步通信
QQ浏览器网页版登录入口 个人中心在线进入
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
如何快速搭建高效可靠的建站解决方案?
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
如何在云主机快速搭建网站站点?
Laravel如何使用Sanctum进行API认证?(SPA实战)
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
JavaScript实现Fly Bird小游戏
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
如何在橙子建站中快速调整背景颜色?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
iOS验证手机号的正则表达式
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
如何打造高效商业网站?建站目的决定转化率
制作旅游网站html,怎样注册旅游网站?
如何快速搭建支持数据库操作的智能建站平台?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
Laravel如何配置和使用缓存?(Redis代码示例)
音响网站制作视频教程,隆霸音响官方网站?
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
免费网站制作appp,免费制作app哪个平台好?
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?

