当前课程知识点:计算思维与人工智能基础 >  第三部分:python基础 >  第七章:文件操作 >  7.3CSV模块的应用

返回《计算思维与人工智能基础》慕课在线视频课程列表

7.3CSV模块的应用在线视频

下一节:8.1第三方库的安装

返回《计算思维与人工智能基础》慕课在线视频列表

7.3CSV模块的应用课程教案、知识点、字幕

下面我们给大家介绍一下CSV文件的操作

什么是CSV文件呢

他的英文就是Comma-Separated Values

中文就叫做逗号分隔值或者字符分割值

其文件以纯文本的形式存储表格数据

那么该文件是一个字符序列

记录间以某种换行符分隔

这个换行符我们可以在写代码的时候自己定义

每条记录都由字段组成

所有的记录都有完全相同的字段序列

相当于一个结构化表的纯文本形式

用文本文件Excel或者类似于文本文件的这个应用程序

都可以打开这个CSV的文件

那我们看右边这段代码

我们之前打开文件的形式是文本文件

如果这个后缀是.CSV文件

跟打开文本文件的格式是完全一样的

open打开

f.读它

print把他输出

那么输出的格式大家可以看的到

上面就像一个记录的字段名称一样

No,Name,Age,Score

然后下面就是对应的一条一条的记录

每个记录的结构都是一样的

那么它的写的方式呢

我们前面讲过

write和writelines那么也可以以读写的方式打开

我们可以把一个列表写入到我们这个指定的文件里面

就是和这是我们前面的用过的

如果要更好的去方便的去操作CSV文件

我们可以引入一个CSV的模块

我们通过import CSV来导入这个模块

那么他这个模块是专门用于读取和写入CSV文件的内容

那对于文件的读取呢

常用的函数就是reader这个函数和DictReader这两个函数

我们来看这个reader是接受一个可迭代的对象

那么就是一个迭代器

这个迭代器是以行为单位的

也是看这段代码

with open 打开一个CSV文件是已读的方式

read这样的方式打开的

那么这个编码方式是utf-8

通过CSV.reader这个函数

我们把这个f读到这个read1里面

那么这个我们read1就是一个迭代器

就可以通过for...in的方式

从我们reader里面取一行一行的读出

那么读出以后呢

我们这个rows其实是一个列表

通过输出这个列表我们可以看的到他是

这是一行就是一个列表

一行是一个列表

那么这是由几个列表元素组成的

另外的话有DictReader

那么他是接受也是接受一个可迭代的对象

返回一个生成器

但返回的每一个单元格都放在一个字典的值内

那么字典的键则是这个单元格的这个列头

也一样看一下我们同样通过with open打开一个文件

我们通过CSV.DictReader的把他读进来

那么读进来那么read1也是一个什么呀

迭代器

我们通过for...in的方式把它读出

读出可以放到什么

这个column

那么这个column也是一个列表

但这个列表的格式跟上面那个

reader读出来的这个列表的格式是不一样的

我们可以看的到这个列表里面

那么列表里面可以看的到他也是有一个什么啊

一个一个元素组成

那么这个元素呢

他有一个OrderedDict

OrderedDict后面呢

可以跟的什么呀

那么这是一个元素

元素里面的又是列表

那么列表里面又以每一个元素呢

其实这个就相当于我们是一个前面的一个行

那么一个行里面呢

它是按照我们的这个表头他的键值

键值这样方式存储的

只不过这个是用逗号作为一个元素

逗号作为一个元素

这是一个列表里面的一个元素

那么这个里面的元素里面的又是什么呀

那么就相当于他是一个二维的列表

列表下面再有元素

这样组成

那么下面 又标注一个OrderedDict

然后后面是一个列的名称

是这样子的一个输出

只是输出的格式不同而已

CSV文件的写入

那么在CSV这个模块里面提供了write和DictWriter这两个方法

来用于写入文件以及或者是写入字典列表数据到文件里面

那么在这个写入模块下面呢

会有writerow将数据写入对应的行

和writeheader写入表头

这时在他们下面又提供了不同的方法

我们来看右边这个

打开这个CSV文件

我们以追加的方式

那画行是通过空格

通过CSV.writer我们写入文件也就打开一个文件句柄

那么这个文件我们可以定义成excel的文件

上面呢前面定义了个datas

这是一个列表

我们可以看到这是一个二维列了

那么通过for..in的方式将这个二位列表按每行

一行也就说一次一个元素

这样进行迭代写入

这是一个通过writer和writerow写入的一个例子

下面来看通过的DictWriter是如何写入

那么一样的话我们这个地方呢

还是一个with open打开我们的一个CSV文件

以追加的方式啊

那么通过我们这次写入方式

CSV.DictWriter

f呢就写不到我们刚才这个文件里

后面跟了一个什么呀

headers

headers是一个什么呀

是一个列表

通过这个列表是一个表头

那么headers可以看得到这个是

name,age给了这样的一个列表

在这个下面的话

就是可以通过writer.writeheader这样的方式呢

可以写入他的表头

写入表头

下面呢再可以通过和刚才一样

我们通过datas也是给了一个列表

这个列表跟刚才那个列表不一样

就是他们每个列表里面的元素是一个什么呀

我们可以看他是一个字典的形式

键值对

键值对的这样的一个形式

通过writerow那也是可以进行写进去的

那么来看在jupyter下面写进去是两个文件

它的效果是什么样子的呢

好我们来在jupyter下看一下这些代码读写

在CSV下面是怎样运行的

首先呢

我们要用CSV文件的操作

我们要用这个import csv这样导入

导入这个模块可以用

前面已经用过

所以导入

导入正常以后呢

我们可以看

这是我们要读我们一个文件

读一个文件通过reader读出来

我们看一下我们这个example9.csv

他的这个文件里面的内容是什么

运行一下你可以看到

它是这样子的

相当于我们这是

第一个元素第二个元素第三元素这个列表

那我们一般通常这是表头

指示元素的

这是列表里面的值

好我们来看看我们如果按照write的方式写入呢

你这个因为他这个列表的格式是这样

所以我们也给了个datas跟他那个是一样的这样的列表的格式

然后我们通过打开文件以后我们按照我们的什么呀

csv.writer这个方式写入

这个是我们看打开方式是追加的方式

所以他在刚才那个表上再把这两个元素追加一下

那么通过我们这个write.writerow按照每行把它写入

我们运行一下

我们这是已经写入了

那么就写入追加上

我们再看一下还是同一个文件

再在这看一下

我看追加进去

这是有三个元素

我们再追加显示一看

我们这是原来的

又追加了两个

就是把这两个元素追加上

我们可以看的到

另外我们看一下这个

dictwriter他使用

这是我们刚才这段代码我们是以写的方式

那么以写的方式把它打开

那么画行也是用空格

DictReader(f,headers)给了一个列表

那么通过writeheader把这个列表写进去

那么也是通过这样按行写进去

那么执行一下

那我就写进去

写进去以后呢

我们可以看的到这个在读的时候呢

我们可以看到这是同样的是一个文件

这是一个文件

所以我们把它写进来的时候

是我们可以看到name,age写了

name第一个是Bob

这是三个元素写进来

我们可以这是打开我们的文件

那我们通过他的方式前面讲过CSV.Dictwriter

这样的方式去读我们的这个列表的数据

我们这个reader通过什么呀

for...in的方式

这个里面的我们可以按照什么呀

我把这个键作为我们的什么呀

这个元素的下标来进行输出

print(name,age)

输出可以看到

就是我们这样的一个结果

如果我们把这个改成一个追加的方式

以追加的方式我们在再写一次

我们在这个地方运行的时候

我们可以看到

他的这个结果啊就又写

又写上

这就说明我们写入是成功的

这个就是我们在CSV这个模块下

对CSV文件的读写

好的

我们今天就给大家介绍到这儿

计算思维与人工智能基础课程列表:

第一部分:计算思维

-1.计算思维的提出

-2.计算思维的要素与应用

-3.培养计算思维

-4.智能时代的教师与教学

-章测试

第二部分:人工智能

-1.人工智能的发展

-2.人工智能的实现与机器学习

-3.人工智能产业

-章测试

第三部分:python基础

-第一章:python简介

--1.1python的介绍

--1.2.anaconda的安装

--章测试

-第二章:编码规范

--2.1 python编码规范

--2.2常量和变量

--章测试

-第三章:数据类型

--3.1数据类型概述

--3. 2.数据转换

--3.3数据类型区别

--章测试

-第四章:基本运算

--4.1.基本运算符

--4.2比较运算符

--4.3逻辑运算符

--4.4位运算符

--4.5成员运算符与身份运算符

--4.6运算符的优先级

--章测试

-第五章:程序控制结构

--5.1顺序结构

--5.2条件结构

--5.3循环结构

--5.4跳转结构

--5.5异常处理

--章测试

-第六章:函数、模块与面向对象

--6.1函数的定义与调用

--6.2面向对象

--6.3魔法函数的应用

--6.4模块与包

--章测试

-第七章:文件操作

--7.1文件的打开与读取

--7.2文件的写入

--7.3CSV模块的应用

--章测试

-第八章:python生态库

--8.1第三方库的安装

--8.2标准库-Os库与Sys库

--8.3.标准库-Time库

--8.4标准库-Random库

--8.5标准库-Turtle库

--8.6第三方库-词云库

--8.7第三方库-pyinstaller库

--8.8第三方库-numpy库(上)

--8.9第三方库-numpy库(下)

--8.10第三方库-pandas库

--8.11第三方库-matplotlib库

--章测试

-第九章:TensorFlow基础

--9.1TensorFlow简介

--9.2TensorFlow 2.0的改进

--9.3TensorFlow的数据应用

--9.4 TensorFlow的设备应用

--9.5.TensorFlow中常用操作

--章测试

-第十章:实例分析与实践

--10.1认识回归问题

--10.2房价的预测

--10.3手写数字识别

--10.4卷积神经网络的介绍

--10.5全连接网络的搭建

--10.6卷积神经网络的实现服饰图片的分类

--10.7LeNet的介绍

--章测试

-第十一章:人工智能在自然语言中的应用

--11.1自然语言处理

--11.2命名实体识别技术

--11.3词向量表示

--11.4自然语言处理的挑战及应用

--章测试

7.3CSV模块的应用笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。