python csv库的简单使用(一分钟学会csv的读写)

您所在的位置:网站首页 用csv模块读写文件记录 python csv库的简单使用(一分钟学会csv的读写)

python csv库的简单使用(一分钟学会csv的读写)

2024-01-03 20:54| 来源: 网络整理| 查看: 265

Python csv库的简单使用 前言

写这篇文章的目的不是系统的对Python csv库进行说明,而是介绍最简单的、最基本的使用方法。

文章中的代码片段可以直接被使用,方便读者在工作中直接引用。

常用场景 读取csv文件

大家都知道csv文件的结构,第一行一般是字段名称,后续行是每条记录的数据。

我们读取文件的时候一般会希望直接读取数据,这时候就不要使用普通的csv.reader()了,我们直接使用csv.DictReader()。

看看下面的例子:

import csv with open('names.csv', newline='') as csvfile: reader = csv.DictReader(csvfile) for row in reader: print(row['first_name'], row['last_name'])

这是一个官方文档上的例子,通过with open打开了一个叫names.csv的csv,文件句柄为csvfile。

然后通过csv.DictReader()方法将其转换为csv操作句柄reader。

之后就可以使用reader按照字典的方式读取每行数据记录的内容了。

如果我还想读取第一行的字段名称,那可以这样获取:

import csv with open('names.csv', newline='') as csvfile: reader = csv.DictReader(csvfile) for row in reader: print(row['first_name'], row['last_name']) print(reader.fieldnames)

属性fieldnames是一个list,输出如下:

PS C:\Users\lenovo\Desktop> py .\csvOperationExample.py zhang haha li haha zhao haha sun haha ['first_name', 'last_name']

 写入csv文件

同样,我们抛弃csv.writer(),使用csv.DictWriter()替代。

我们再来看一个官方文档的例子:

import csv with open('names.csv', 'w', newline='') as csvfile: fieldnames = ['first_name', 'last_name'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames) writer.writeheader() writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'}) writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'}) writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})

首先使用with open创建一个空的名为names的csv文件,返回文件句柄csvfile。

之后利用list定义csv的字段:

fieldnames = ['first_name', 'last_name']

接下来使用csv.DictWriter创建csv操作句柄writer,到此位置csv文件还是空的。

下面向空csv文件写入字段行:

writer.writeheader() 

最后依次写入数据行:

writer.writeheader() writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'}) writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'}) writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'}) 小结

1、使用csv.DictReader和csv.DictWriter可以更方便的区分和读取字段名行和数据行

2、with open用的很好,省去了file.close()的相关操作,能简则简是使用Python的初衷

3、上面分别介绍了读取和写入的方法,有的同学会问如何在一个csv文件中修改呢?答案是不去修改原csv文件,而是写一个新的

参考资料

csv — CSV File Reading and Writing — Python 3.9.5 documentation



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3