75. CSV文件的写入(保姆级教程)
文章目录
1. 目标任务
-
新建【各班级成绩】文件夹;
-
在该文件夹下新建一个【1班成绩单.csv】文件;
-
在该文件中写入下面的内容:
成绩 姓名
刘一 100
陈二 90
2. 什么是CSV文件
2.1 CSV文件知识
CSV文件和TXT文件一样,一种纯文本文件。
CSV 是 “Comma-Separated Values(逗号分割的值)” 的首字母缩写。
comma [ˈkɒmə]:逗号。
separated[ˈsepəreɪtɪd]:分开的。
values [ˈvæljuːz]:值。
逗号分割的值意思就是用逗号把不同的值进行分割。
CSV文件中的数据是纯文本的形式, 不同行的值(数据)之间,通过英文逗号,
进行分割。
CSV文件文件的第一行相当于Excel表格的列名。
CSV文件可以通过记事本打开,也可以通过Excel软件打开。
【CSV文件和Excel表格的区别】
Excel表格的功能很丰富,样式美观;但占据比较多的存储空间,读写的耗时较长。
CSV文件没有样式,读写速度块;相比Excel表格,CSV文件没有最大行。
Python爬虫项目实操中,我们通常用CSV文件和JSON文件来存储解析到的网页数据。
今天我们先学习CSV文件的操作。
下面,我们来手动新建一个CSV文件。
2.2 准备工作
在电脑D盘新建一个【75】文件夹,在该文件下进行如下操作。
2.3 实操练习1
- 新建一个txt记事本,将其重命名为
1班成绩单.CSV
。
-
右键点击
1班成绩单.CSV
文件,打开方式选择【Excel】 -
打开后,在A1单元格中输入
姓名
,在B1单元格中输入成绩
。
如果你用Excel打开CSV文件,你会发现其实CSV文件就是一个简易版的Excel。
-
关闭保存文件。
-
再次右键点击
1班成绩单.CSV
文件,打开方式选择【记事本】。 -
我们发现
姓名
和成绩
之间有一个英文逗号,
。
这是因为CSV文件的值是以英文逗号进行分割的。
- 关闭并保存文件。
2.4 实操练习2
-
以记事本的方式打开
1班成绩单.CSV
文件 -
在第二行输入原样输入
刘一,,60
注意这里要输入两个英文逗号,不能输入中文逗号。
-
关闭保存文件。
-
右键点击
1班成绩单.CSV
文件,打开方式选择【Excel】
我们发现刘一
和60
之间多了一个空格。
CSV文件中,如果有多个英文逗号,
第一个逗号的作用是对值进行分隔。
剩下的逗号表示空单元格。
一个逗号表示一个空单元格。
2.5 实操练习3
-
新建一个【Excel】表格
-
点击打开
-
在A1单元格中输入
姓名
,在B1单元格中输入成绩
。 -
点击【文件】-【另存为】
-
【文件类型(T)】中选择【CSV(逗号分隔)】
- 【文件名(N)】中输入
2班成绩单
这样我们就新建了一个CSV文件。
通过以上的练习,我们应该了解了CSV文件的手动操作。
下面我们来学习代码操作CSV文件。
3. os模块文件操作
我们首先用os模块来创建所需的文件夹和删除刚才新建的CSV文件。
3.1 准备工作
-
用VScode编辑器打开
75
文件夹。 -
在
75
文件夹里新建一个75.py
文件。 -
大家在
75.py
文件里编写代码。
3.2 os模块知识回顾
os 是 operation system 的缩写。
operation [ˌɒpəˈreɪʃn]:操作。
system [ˈsɪstəm]:系统。
os 模块支持文件和目录操作,进程管理,环境变量管理等功能。
调用模块下的函数语法:模块名.函数名()
:
3.3 模块导入语法
os 是内置模块,import导入即可使用。
【语法】
import
+ 模块名
import [ˈɪmpɔːt]:导入。
【示例】
import os
3.4 os.getcwd()获取当前工作目录
cwd
是 current working Directory 的缩写,译为当前工作目录。
当前工作目录就是我们现在编写代码的文件所在的文件夹。
# 导入os模块
import os
# getcwd作用是获取当前工作目录
os.getcwd( )
【终端输出】
'd:\\75'
终端输出的'd:\\75'
就是我当前的工作目录,即D盘下的75
文件夹。
3.5 os.remove()删除指定文件
remove[rɪˈmuːv]:去掉、废除。
我们用os.remove()
将刚在在75
文件夹里新建的2个csv文件和1个xlsx文件删除。
【删除前】
import os
# 调用模块的函数
# 模块名.函数名
# remove 的作用是删除指定文件
os.remove("1班成绩单.csv")
os.remove("2班成绩单.csv")
os.remove(r"D:\75\新建 XLSX 工作表.xlsx")
运行代码后,大家看你VScode编辑器左侧的资源管理器里只有一个75.py
文件了。
【语法解析】
os.remove("1班成绩单.csv")
os.remove("2班成绩单.csv")
这里remove括号中的参数为要删除文件的相对路径。
os.remove(r"D:\75\新建 XLSX 工作表.xlsx")
这里remove括号中的参数为要删除文件的绝对路径。
我这里写2种路径是为回顾路径的相关知识点,实操中大家结合自己的需要自行选择。
路径前的r
表示路径转义,加了这个r
就可以不用考虑路径参数中的转义字符。
【VScode查看路径的方法】
-
点击VScode左上角的【资源管理器】
-
右键点击【一班成绩单.csv】
-
选择【复制路径】或【复制相对路径】,然后粘贴就能快速得到文件的路径。
3.6 os.mkdir()新建目录
mkdir
是 make directory 的缩写,译为创建目录。
mkdir 的作用就相当于新建文件夹。
【目标任务】
在当前文件夹下用相对路径新建一个【各班级成绩】文件夹。
在当前文件夹下用绝对路径新建一个【会员表】文件夹。
import os
# 调用模块的函数
# 模块名.函数名
# mkdir作用是创建目录
# 相对路径
os.mkdir("各班级成绩")
# 绝对路径
os.mkdir(r"D:\75\会员表")
运行上述代码后,大家看左侧的资源管理器里多了2个文件夹。
一个是【各班级成绩】文件夹。
os.mkdir("各班级成绩")
mkdir的参数为文件夹名称,表示在当前文件夹下创建目录。
os.mkdir(r"D:\75\会员表")
mkdir的参数为绝对路径,表示在D盘下的75文件夹下创建一个名为【会员表】的目录。
4. CSV文件的写入
【体验代码】
# 导入 csv 模块
import csv
# 用字典存储要