用asp做的一个网站实例源代码,网站建设的来源,建设银行教育网站,网站服务器内网打不开网页文章目录1. 目标任务2. 准备工作3. writerow单行写入4. writerows多行写入5. a以追加的模式写入值6. 总结1. 目标任务 新建【各班级成绩】文件夹#xff1b; 在该文件夹下新建一个【1班成绩单.csv】文件#xff1b; 在该文件中写入下面的内容#xff1a;
成绩 姓名 刘一…
文章目录1. 目标任务2. 准备工作3. writerow单行写入4. writerows多行写入5. a以追加的模式写入值6. 总结1. 目标任务 新建【各班级成绩】文件夹 在该文件夹下新建一个【1班成绩单.csv】文件 在该文件中写入下面的内容
成绩 姓名 刘一 100 陈二 90 张三 80 李四 70 王五 60
2. 准备工作 在电脑D盘新建一个【77】文件夹。 用VScode编辑器打开【77】文件夹。 在【77】文件夹中新建一个77.py文件。 打家在77.py文件中编写代码。
3. writerow单行写入
【要写入的内容】
成绩 姓名 刘一 100 陈二 90 张三 80 李四 70 王五 60
第一行成绩 姓名是表头。
后面的5行是要写入的内容。
要写入的值有5行我们需要用5个字典存储要写入的值。
【体验代码】
# 导入os 模块用于创建文件目录
import os
# 导入 csv 模块用于操作CSV文件
import csv# mkdir作用是创建目录
# 相对路径
os.mkdir(各班级成绩)# 用字典存储要写入CSV文件的信息
dict1 {姓名: 刘一, 成绩: 100}
dict2 {姓名: 陈二, 成绩: 90}
dict3 {姓名: 张三, 成绩: 80}
dict4 {姓名: 李四, 成绩: 70}
dict5 {姓名: 王五, 成绩: 60}# 设置文件的表头即列名
header [姓名, 成绩]# 文件的相对路径
file_path r各班级成绩\1班成绩单.csv# 以自动关闭文件的方式创建文件对象
with open(file_path, w, encodingutf-8, newline) as f:# 实例化类 DictWriter()得到 DictWriter 对象dw csv.DictWriter(f, fieldnamesheader)# 写入文件的表头dw.writeheader()# writerow每次写入一行dw.writerow(dict1)dw.writerow(dict2)dw.writerow(dict3)dw.writerow(dict4)dw.writerow(dict5)【对象语法回顾】
这里对几个大家比较陌生的语法点进行回顾。
回顾的次数多了它就是你脑子里的东西了。
# 以自动关闭文件的方式创建文件对象
with open(file_path, w, encodingutf-8, newline) as f:f是是with open 语句创建的文件对象。
# 实例化类 DictWriter()得到 DictWriter 对象
dw csv.DictWriter(f, fieldnamesheader)实例化列创建对象语法
对象名类名()
dw是实例化类后创建的csv.DictWriter对象。
dw是对象名。
csv是模块名。
DictWriter是类名作用是用字典的形式写入。
# writerow每次写入一行
dw.writerow(dict1)调用类的方法语法
对象名.方法名(值,…)
dw是对象名。
writerow是方法名作用是每次写入一行。
dict1是要写入的值。
运行上面的代码我们成功向CSV文件写入了上述5行值。 上面的代码我们写入5行值调用了5次writerow方法。
# writerow每次写入一行
dw.writerow(dict1)
dw.writerow(dict2)
dw.writerow(dict3)
dw.writerow(dict4)
dw.writerow(dict5)这样的写法太复杂了不符合Python代码简洁的特性。
上述5行代码我们可以用一行代码进行替换。
# writerows多行写入
dw.writerows([dict1,dict2,dict3,dict4,dict5])4. writerows多行写入
writerowCSV模块中写入一行数据。
writerowsCSV模块中写入多行数据。
【体验代码】
# 导入 csv 模块用于操作CSV文件
import csv# 用字典存储要写入CSV文件的信息
dict1 {姓名: 刘一, 成绩: 100}
dict2 {姓名: 陈二, 成绩: 90}
dict3 {姓名: 张三, 成绩: 80}
dict4 {姓名: 李四, 成绩: 70}
dict5 {姓名: 王五, 成绩: 60}# 设置文件的表头即列名
header [姓名, 成绩]# 文件的相对路径
file_path r各班级成绩\1班成绩单.csv# 以自动关闭文件的方式创建文件对象
with open(file_path, w, encodingutf-8, newline) as f:# 实例化类 DictWriter()得到 DictWriter 对象dw csv.DictWriter(f, fieldnamesheader)# 写入文件的表头dw.writeheader()# writerows多行写入dw.writerows([dict1, dict2, dict3, dict4, dict5])【温馨提示】
上面这段代码我删除了os相关的语句下面的代码被删除
# 导入os 模块用于创建文件目录
import os# mkdir作用是创建目录
# 相对路径
os.mkdir(各班级成绩)因为【各班级成绩】文件夹已经存在如果我们在创建该目录程序会报错。
【易错解析】
大家注意writerows的参数是一个列表类型
# writerows多行写入
dw.writerows([dict1, dict2, dict3, dict4, dict5])很多同学会写成下面这样的形式
# writerows多行写入
dw.writerows(dict1, dict2, dict3, dict4, dict5)没有列表类型数据是会报错的。
5. a以追加的模式写入值 上面的代码with open语句的写入模式即mode参数都是w。
w就是不管我们的文件之前有什么内容只要选用了w模式写入之前的内容都会被覆盖。
a是追加模式追加模式就是保留原有的内容。
下面我们将mode参数修改为a。
# 以自动关闭文件的方式创建文件对象
with open(file_path, a, encodingutf-8, newline) as f:【体验代码】
# 导入 csv 模块用于操作CSV文件
import csv# 用字典存储要写入CSV文件的信息
dict1 {姓名: 刘一, 成绩: 100}
dict2 {姓名: 陈二, 成绩: 90}
dict3 {姓名: 张三, 成绩: 80}
dict4 {姓名: 李四, 成绩: 70}
dict5 {姓名: 王五, 成绩: 60}# 设置文件的表头即列名
header [姓名, 成绩]# 文件的相对路径
file_path r各班级成绩\1班成绩单.csv# 以自动关闭文件的方式创建文件对象
with open(file_path, a, encodingutf-8, newline) as f:# 实例化类 DictWriter()得到 DictWriter 对象dw csv.DictWriter(f, fieldnamesheader)# 写入文件的表头dw.writeheader()# writerows多行写入dw.writerows([dict1, dict2, dict3, dict4, dict5])运行代码得到的结果如下 观察输出结果注意绿色框的内容。
这里多了一个表头是我们不需要的那怎么办呢
writeheade是写入表头的意思。
删除这行代码就没有表头了。
# 写入文件的表头
dw.writeheader()【体验代码】
# 导入 csv 模块用于操作CSV文件
import csv# 用字典存储要写入CSV文件的信息
dict1 {姓名: 刘一, 成绩: 100}
dict2 {姓名: 陈二, 成绩: 90}
dict3 {姓名: 张三, 成绩: 80}
dict4 {姓名: 李四, 成绩: 70}
dict5 {姓名: 王五, 成绩: 60}# 设置文件的表头即列名
header [姓名, 成绩]# 文件的相对路径
file_path r各班级成绩\1班成绩单.csv# 以自动关闭文件的方式创建文件对象
with open(file_path, a, encodingutf-8, newline) as f:# 实例化类 DictWriter()得到 DictWriter 对象dw csv.DictWriter(f, fieldnamesheader)# 不要表头就不需要这行代码#dw.writeheader()# writerows多行写入dw.writerows([dict1, dict2, dict3, dict4, dict5])6. 总结
【写入表头】
dw.writeheader()【writerow每次写入一行】
dw.writerow(dict1)【writerows多行写入】
dw.writerows([dict1, dict2, dict3, dict4, dict5])
w模式写入之前的内容被覆盖。
a模式写入保留原有的内容。
【综合代码】
# 导入os 模块用于创建文件目录
import os
# 导入 csv 模块用于操作CSV文件
import csv# mkdir作用是创建目录
# 相对路径
os.mkdir(各班级成绩2)# 用字典存储要写入CSV文件的信息
dict1 {姓名: 刘一, 成绩: 100}
dict2 {姓名: 陈二, 成绩: 90}
dict3 {姓名: 张三, 成绩: 80}
dict4 {姓名: 李四, 成绩: 70}
dict5 {姓名: 王五, 成绩: 60}# 设置文件的表头即列名
header [姓名, 成绩]# 文件的相对路径
file_path r各班级成绩2\1班成绩单.csv# 以自动关闭文件的方式创建文件对象
with open(file_path, a, encodingutf-8, newline) as f:# 实例化类 DictWriter()得到 DictWriter 对象dw csv.DictWriter(f, fieldnamesheader)# 写入文件的表头dw.writeheader()# writerow每次写入一行dw.writerow(dict1)# writerows多行写入dw.writerows([dict2, dict3, dict4, dict5])