导图社区 Python基础课
Python基础课的思维导图,包括控制流、数据类型、自然行数、模块、创建类与函数、问题排查等内容,初学者适用。
编辑于2021-10-14 22:50:18Python
控制流
比较运算
==等于,!=不等
>大于,<小于,>=大于等于,<=小于等于
逻辑运算
and
or
not
条件判断
① 关键词"if";② "条件";③ 英文冒号":";④ 缩进;⑤ 代码块
如 if student =='可以': print('~~~~')
if...else...单分支结构 “如过...就…,否则...”
if...elif...else...多分支结构 而 if…elif…else…的意思是“如果...就...;不然...就...;否则....”
elif 后面必须有条件语句 else 后面可以没有条件语句
判断if 来判断某个元素是否在可迭代对象内
if…in…:
if 元素 not in 序列:
len(s)
作用:用于获取数据的长度。传入列表、元组、字符串等数据类型到 len() 中,就可以整数形式返回其长度。 结果:返回一个整数类型的数据,即是返回该数据的长度。
序列.count(元素名)
作用:用于统计序列(包括:列表、元组等)中某个元素出现的次数。 结果:返回一个整数类型的数据,即是返回该元素在序列内的个数。
list(s)
作用:可以将合适的数据类型转换为列表,如元组、字符串等序列。 结果:返回一个列表类型的数据。
循环
for i in…: 循环
不断地从可迭代对象里提取数据出来,赋值给一个变量,然后拿数据去执行某段流程,直到可迭代对象中没有数据可以取出来为止。
for i in …: print()
① 关键字"for";② 循环变量;i,③ 关键字"in";④ 可迭代对象;…⑤ 英文冒号":"⑥ 缩进;
⑦ 循环体。print()
range() 创建整数序列
range(10) 从0到10前面的数字,0可以省略
range(a,b) 从a到b-1
range() 函数的结果无法直接打印显示,需要通过 for 循环依次打印结果内的值。
Ctrl + c 停止无限循环
a = a + 1还可以写成a += 1
while “当…时候,执行某段程序”
当给定的条件为真时,执行循环体;条件为假时,结束循环。
① 关键字while;② 条件;③ 英文冒号“:”;④ 缩进;
⑤ 循环体(要被重复执行的语句)
while 循环的条件必须是可以变化的,不然的话就会导致 while 的条件一直满足,程序就陷入了死循环。
循环语句与条件语句配合使用
案例1:通过计数的方式改变变量
a=0 while a<5: print(a) #每次循环a的值都会+1,直到a=5不满足条件 a=a+1 print('循环结束')
案例2:通过输入的方式改变变量。
#定义初始变量doing 为空字符串 doing='' #当doing不等于'写简历'时,while循环会一直执行 while doing!='写简历': #获得用户输入来改变doing的值 doing=input(“请输入知枫在做什么?”) print("知枫在"+doing) #当我们输入'写简历',条件不成立,循环结束,程序执行while循环后的语句,打印 print('知枫终于去写简历了!!!')
继续(跳过) continue
跳出本轮循环,进入下一轮循环的意思。
结束 break
提前结束整个循环
分支流
循环流
导入模块
定义
语法格式(def)顶格 def 函数名(参数): 代码块
关键字 def
参数 位置参数,按照相应位置顺序传递参数 0~n个
多个参数 def drive(a,b,c,)
代码块 函数内包括的代码内容,用于实现函数功能
执行流程
1.当Python执行定义函数的语句时,先创建函数,而不执行函数内部内容 2.当调动内部函数时,该函数语句才会运行。
调用
语法格式 函数名(参数)
定义函数 1.创建函数 def drive(参数): 3.显示 print() 2.调用函数 drive()
数据类型
数字类型
整数 int 1
正整数、负整数、0 5、-5、0
转化为整数
字符类型,先转化为浮点数,再转化为整数 int(float('3.6')) int(float('6哈哈'))
不可以的如: '6哈哈' ,'3.6'
符合整数规范 如: '666'
浮点数 float 1.0
转化为浮点
整数 float(1)
字符串 float('1')
字符串 str 'a,b,c'
字符串与数字拼接 要统一数据类型
符号:' '、""、''' '''
字符串格式化 见 函数 format
一组''' '''
转化为字符串 num=123
str(num)
num='123'
修改字符串
song = '我们不一样' song = song[:2] + '都' + song[3:] print(song)
列表list 符号 [a,b,c]
切片
1.取左不取右 2.冒号左右的值不填的时候则代表一取到底。
list[a:b] 含a,不含b
list[a:] 含a ,至最后一个
提取 [],{},()
索引:数据的位置顺序
正索引
list[n] 从左到右,第n+1个
负索引
list[-n] 从右到左,第n个
嵌套索引
list[n][m]
修改 [],{}
list[索引值]=新元素
增加 [],{}
list.append(想要增加的元素)
删除del [],{}
del info[索引]
循环 [],{},(),''
布尔类型
当条件成立时是“真”,代码里用 True 表示
当条件不成立时是“假”,代码里用 False 表示。
元组 tuple 符号 (a,b,c)
索引取值、切片 同 列表
元组不可以增加 修改 删除
字典{键:值} 可为空{'a':1,'b':2,'c':3}
语法:dict = {key1:value1,key2:value2} 示例: score_table ={'陈知枫':88,'浦欣然':86}
键key值value对
字典的键:不可以是字典、列表 只能是不可变数据类型
字典的值(可以任意类型) 字符串、整数、浮点型、元组、列表和字典。
取值a
score={a:1,b:2} score[a]
get 取值不在字典中时 score.get(a)=None
当值是字典时,值中值 score[][]
修改 取值
score['键名]=新值
添加 键值对
字典[新键名] = 新值 info[新键名]=新值
删除del
del info[键名]
循环 值 for key in score: # 打印字典的键 print(key) #打印字典的值 print(score[key])
集合
不可变
自带函数
函数 组织好的,可以重复使用、用来实现某一功能的代码。 减少重用性代码
赋值 变量名=变量
赋值符号 =
变量名
不可以使用功能性函数 Python函数
字母或下划线开头,首字母不可是数字
不可以包含标点符号或特殊符号
打印 print()
type() 数据类型
type(某个数据)
获取数据的数据类型,适用于任何数据 返回该数据的数据类型,需要结合 print() 函数才会打印返回内容
int() 转换为整数类型
int(某个数据)
将数字类型,以及整数形式的字符串转换为整数类型。
结果:返回一个向下取整的整数类型。 注意:无法直接将浮点数类型的字符串转换为整数类型。
float() 转换为浮点数类型
float(某个数据)
作用:将数字类型,以及数字形式的字符串转换为浮点数类型。 结果:返回一个浮点数类型数据。
str() 转化为字符串
str(某个数据)
作用:将其他任何类型的数据转化为字符串。 结果:返回一个字符串类型的数据。
input() 打印内容并 获取终端输入
a = input('提示性文字')
a为字符串类型
listdir()
返回指定文件夹下,读取文件或文件夹名字的列表
#导入模块 OS import os #读取文件夹名字 file_name = os.listdir('./工作/各班级成绩') print(file_name)
format() 字符串格式化
'字符串{}字符串'.format({}中需要填充的东西)
字符串格式化 str.format()'
print(''+str()+'')
print('{}'.format())
print('{}~{}'.format(,))
print('{a}~{b}'.format(a=,b=))
print('{}'.format(X))
作用:可以在字符串中嵌入内容,不用转换数据类型直接拼接,灵活且美观。 结果:与print()配合使用
open()
打开一个文件,并返回一个 file 对象(即文件对象)
f = open(file, mode, encoding)
file 要打开的文件路径
绝对路径
Win系统以C:/ D:/开头 Mac系统以:/开头
相对路径
点(.)表示文件或文件夹所在的当前目录, 双点(..)表示当前目录的上一级目录。
mode 打开文件的模式 默认只读 mode='r'
只读'r' 写'w' 追加'a'
encoding 文件的编码方式
gbk 专门为中文设计的编码方案
utf-8 可用于编码中文、英文等大多数国家的文字、字母、符号
utf-8-sig Windows 系统的中文环境下,部分文件在保存后,文件最前面会带有 BOM(byte-order mark,字节顺序标记)。 读取带有 BOM 头的 csv 文件前,如果不对 BOM 进行处理,第一项最前面会多 “\ufeff” 几个字母。如果这一项再作为内容被写入 csv文件,则会出现乱码的情况。 为了解决乱码问题,可以将使用 “uft-8-sig" 编码格式,“uft-8-sig" 中的 sig 即 signature ,也就是“带有签名的 utf-8”,这样在读取带有 BOM 的“utf-8”的文件时,会把BOM 单独处理,与文本内容隔离开。
例 source_path=open('…/工作/总年级成绩.csv','r',encoding='utf-9')
source_path.close()
结束时 关闭已打开文件
with open() as ...
在 with 下面的代码块结束时,会自动执行 close() 关闭文件
with open('…/工作/总年级成绩.csv','r',encoding='utf-8') as source_path: file_dict=csv.DictReader(source_path) for row in file_dict: print(row)
等同于 source_path=open('…/工作/总年级成绩.csv','r',encoding='utf-8') file_dict=csv.DictReader(source_path) for row in file_dict: print(row) source_path.close()
# 写入文件的多行内容,注意字典符号 dict_write.writerows([dict1, dict2])
# 写入文件的单行内容 dict_write.writerow(dict1) dict_write.writerow(dict2)
读取
DictReader() 以字典的形式读取 文件
# 以字典的形式获取 csv(文件形式) 文件source_path()信息,命名file_dict file_dict = csv.DictReader(source_path)
#实例化类 ,对象source_path DictReader()
dictreader的对象有fieldnames属性
fieldnames属性 可以读取到文件的表头。
调用字典的表头 file_dict.fieldnames
读取顺序
a. csv 模块:实现 csv 格式表单数据的读写; b. open() 函数:用于打开一个文件,并返回文件对象; 与 文件名.close() 配合使用 c. with open() as …:以自动关闭的方式打开文件; d. DictReader() 类:以字典的形式读取 csv 文件。
写入
DictWriter() 以字典的形式写入
写入顺序
a. DictWriter() 类:支持以字典的形式写入 csv 文件; b. writeheader() 方法:往 csv 文件写入表头; c. writerow() 方法:往 csv 文件写入内容,一次只能写入一行; d. writerows() 方法:往 csv 文件写入内容,一次可以写入多行。
模块
导入csv模块 import csv
导入模块 import (输入,导入)+ 模块名
csv
调用1
#导入模块project1 import project1 #调用模块下的类 car=project1.Cars('红','小')
类:模块名.类名(),如 csv.DictReader();
变量:模块名.变量名,如 os.SEEK_SET。
##导入模块OS import OS #调用模块下的函数 file_name=os.listdir('./工作/各班成绩')
函数:模块名.函数名(),如 os.listdir();
调用2
# 导入模块 project1 里的类 Cars() from project1 import Cars # 实例化类 Cars() car = Cars('红', '小') print('您定制的汽车颜色为:{},大小为:{},可以开始试驾了。'.format(car.color, car.shape))
模块下 调用 #从 os 模块导入 listdir() 函数 from 模块名 import 类名/函数名/变量名
# 导入random模块 import random # 使用randint()方法,在1-100间随机生成一个整数,包括1和100 num_1 = random.randint(1, 100) num_2 = random.randint(1, 100) # 每次打印的数字都是不一样的 print('num1为:{}\nnum2为:{}'.format(num_1, num_2))
# 生成1到10之间的随机数 import random target = random.randint(1,10)
# 导入time模块 import time print('测试1') time.sleep(2) # 让程序休眠2秒,可以改秒数 print('2秒后显示测试2')
创建类与函数
# 定义一个类 Cars class Cars: # 属性(外形构造) color = '黑' shape = '小' # 方法 (动力、操作系统) def drive(self): print('一辆黑色的小汽车快速向前开') # 初始化方法 def __init__(self): print('实例化成功,恭喜你造出一辆新车') # 实例化对象 car = Cars() # 调用属性并打印查看 print(car.color) print(car.shape) #调用方法 car.drive()
定义
概念: 对一类东西的概况, 作为模板批量实例化对象
规则
四要素 “class”、类名、“:”、代码块
类名 首字母 要求大写
关键字“class”
实例化 实例化属性
__init__()方法如果设置了参数, 实例化时需要给参数传参
对象=类名(值) car=Cars()
属性 变量
直接在类中对一个变量赋值 # 属性(外形构造) color = '黑' shape = '小'
#调用 属性(外形构造) car.color car.shape
方法 函数
#定义语法: class Cars : def drive(self,speed) print('一辆黑色的小汽车{}向前开') #调用语法: Car.drive('快速')
形参 在定义函数阶段定义的参数称之为形参
位置参数
(color,shape,,)按照位置传参
默认参数
位于最后 如 speed=‘快速’
调用函数(实参) 函数名(参数值) #调用方法 car.drive()
例 #定义函数名为drive def drive(color,shape,speed): print('一辆{}色的{}汽车,向{}开') print('我会先被打印') #调用函数 drive('黑','小','前')
函数执行顺序
定义函数 #定义函数名为drive def drive(color,shape,speed):
首先跳过代码块 先打印 print('我会先被打印')
定义函数时的代码块先不执行,在调用函数后执行 print('一辆{}色的{}汽车,向{}开')
return 返回
从函数内部返回值 如没有return 会默认返回None #函数square来定义正方形面积计算公式 def square(side_length): #正方形面积=边长*边长 area=side_length*side_length #返回面积值 return area #调用函数,打印结果 print('正方形的面积为:'+str(square(4)))
通过打印 调用函数 square=4传递给def 函数 print('正方形的面积为:'+str(square(4))) 传递给 def square(side_length) :
函数收到实参,传递给他的下级 area=side_length*side_length
通过下级 return 给调用结果 进行打印
问题排查
syntax errors 语法错误
syntax errors 语法错误
invalid syntax 无效语法
关键字拼写错误或遗漏 如 将 while 写成了 whlie 将 def 写成了 dfe 之类的错误 或者可能是你将 for...in... 中的关键字 in 忘写了。
遗漏标点符号 如 函数定义的时候,括号后面是否有冒号 if 条件判断和 while 循环中的条件后面是否有冒号; for 循环的可迭代对象后是否有冒号; 还有就是字典中每一个键值对之间是否有逗号 == 写成了 = 等等
变量名或函数名使用了关键字 常用关键字: and as assert(维护、主张) break(打破) class(定义 类) continue(继续) def(定义函数) del(删除) elif(否则) else(否则) except(除…外,不包括) False finally(最后) for from global(全局的) if import(导入) in is lambda[匿名函数,希腊字母] None not nonlocal(非全局的) or pass(经过) raise(提高 筹集) return True try while with yield(结果)
invalid character in identifier 标识符中有无效字符
EOL while scanning string literal 检查到不完整的字符串
这种情况通常是因为遗漏了字符串两边的引号, 或者混用了引号(即字符串两边的引号不统一)
IndentationError 缩进错误
unindent does not match any outer indentation level (缩进内容不匹配任何一个层级)
expected an indented block (需要缩进的代码块
异常(exceptions)
语法中常见异常
TypeError,即类型错误
Traceback (most recent call last) 回溯最近调用
第一种:TypeError: unsupported operand type(s) for …(不支持的运算)
can only concatenate str (not "int") to str (只能用字符串拼接字符串)
'xxx' object is not iterable(对象不可被迭代)
IndexError
list index out of range(索引超出了范围)
文件处理中常见异常
ModuleNotFoundError 未找到模块错误
AttributeError: 属性错误:
module 'os' has no attribute 'dirlist' 模块 'os' 没有属性 'dirlist'
FileNotFoundError: 没有发现文件的路径是:
[Errno 2] No such file or directory:
UnicodeDecodeError 编码使用与原文本不同
: 'gbk' codec can't decode byte xxxx in position xx: invalid continuation byte
案例
列表拼接
# 创建 number_list1 列表 number_list1 = [45, 66, 45, 76, 54] # 创建 number_list2 列表 number_list2 = [60, 23, 67, 84, 70] # 将 number_list1 和 number_list2 拼接为一个列表 total_list = number_list1 + number_list2
循环,打印
# 使用 for 循环语句遍历 total_list 列表中的元素 for number in total_list: # 将取到的数字与 70 做比较,如果数字大于 70,则打印该数字 if number > 70 : print(number) # 终止循环 break
字典 打印值
students_scores = { '张虹': {'语文': 97, '数学': 87, '英语': 89}, '李希': {'语文': 86, '数学': 91, '英语': 93}, '王京': {'语文': 89, '数学': 89, '英语': 91}, } #写出循环体,依次读出学生名字; for name in students_scores: #按名字作为键,提取某个学生的成绩字典并赋值给临时变量student_info ; student_info = students_scores[name] #在临时变量上增添一个新键值对,新的键值对的值由该学生的三个科目成绩相加得到 student_info['总成绩'] = student_info['语文'] + student_info['数学'] + student_info['英语'] #把整个字典打印出来看看 print(students_scores)
函数
# 定义函数drive def drive(color, speed): if 60 <= speed <= 120: print('车速满足要求,这辆{}色的汽车可以开进高速公路'.format(color)) else: print('禁止通行') # 调用函数并输入对应的参数值 drive('黑',speed=90)
# 定义函数drive def drive(color, speed):
函数的调用,即使用函数 函数名(参数值...) drive('黑',speed=90) 终端 车速满足要求,这辆黑色的汽车可以开进高速公路
类
# 定义一个类 Cars class Cars: # 属性(外形构造) color = '黑' shape = '小' # 初始化方法 def __init__(self): print('实例化成功,恭喜你造出一辆新车') # 方法 (动力、操作系统) def drive(self): print('一辆黑色的小汽车快速向前开') def stop(self): print('一辆黑色的小汽车快速停车') def skr(self): print('一辆黑色的小汽车快速漂移') # 实例化对象 car = Cars() #调用方法 car.drive() car.stop() car.skr() # 调用属性并打印查看 print(car.color) print(car.shape)
# 方法 (动力、操作系统) 【定义函数】 def drive(self): print('一辆黑色的小汽车快速向前开') def stop(self): print('一辆黑色的小汽车快速停车') def skr(self): print('一辆黑色的小汽车快速漂移'
#初始化方法 __init__() 实例化对象+自动运行内部的代码 终端: 实例化成功,恭喜你造出一辆新车
#调用方法 对象.方法名() car.drive() car.stop() car.skr() 终端打印: 一辆黑色的小汽车快速向前开 一辆黑色的小汽车快速停车 一辆黑色的小汽车快速漂移
# 调用属性 对象.属性 car.color car.shape
dicts = {'张虹': {'语文': 97, '数学': 87, '英语': 89}, '李希': {'语文': 86, '数学': 91, '英语': 93}, '王京': {'语文': 89, '数学': 89, '英语': 91} } #定义函数,计算总成绩并增添到字典中,最后打印字典 def scores_sum(students_scores): for name in students_scores: #按名字作为键,提取某个学生的成绩字典并赋值给临时变量; student_info = students_scores[name] #在临时变量上增添一个新键值对,新的键值对的值由该学生的三个科目成绩相加得到 student_info['总成绩'] = student_info['语文'] + student_info['数学'] + student_info['英语'] #把整个字典打印出来看看 print(students_scores) #传入参数,调用函数 scores_sum(dicts)
代码块 for name in students_scores: #按名字作为键,提取某个学生的成绩字典并赋值给临时变量; student_info = students_scores[name] #在临时变量上增添一个新键值对,新的键值对的值由该学生的三个科目成绩相加得到 student_info['总成绩'] = student_info['语文'] + student_info['数学'] + student_info['英语'] #把整个字典打印出来看看 print(students_scores)
dicts = {'张虹': {'语文': 97, '数学': 87, '英语': 89}, '李希': {'语文': 86, '数学': 91, '英语': 93}, '王京': {'语文': 89, '数学': 89, '英语': 91} } #定义函数和传入参数 def subject_avg(students_scores, subject): #定义人数计数变量和成绩求和变量 count = 0 score_sum = 0 #循环遍历外层字典,读出每个学生的成绩字典 for student in students_scores: #按学科名称读出学科成绩并求和,用计数变量记录总人数 score_sum += students_scores[student][subject] count += 1 #求取平均值并打印输出。 avg = score_sum/count print('{}课的平均成绩是{}分'.format(subject, avg)) #调用求均值函数 subject_avg(dicts, '语文') subject_avg(dicts, '数学') subject_avg(dicts, '英语')
判断 if… elif… else…
# 获取输入的员工工作年限信息 working_time = int(input('请输入您的工作年限:')) # 计算累计工作已满 1 年不满 10 年员工的年休假 if 1 <= working_time < 10: print('您有 5 天年休假') # 计算累计工作已满 10 年不满 20 年员工的年休假 elif 10 <= working_time < 20: print('您有 10 天年休假') # 计算累计工作已满 20 年员工的年休假 elif working_time >= 20: print('您有 15 天年休假') # 其他情况 else: print('您没有年休假')
# 获取输入的性别、身高、体重信息 gender = input('请输入您的性别:') height = float(input('请输入您的身高(m):')) weight = float(input('请输入您的体重(kg):')) # 计算 BMI 指数 bmi = weight/(height*height) # 当性别为男时 if gender == '男': # 判断 BMI 指数范围 if bmi >= 27.4: print('您的体重属于肥胖') elif bmi >= 23.9: print('您的体重属于超重') elif bmi >= 17.3: print('您的体重正常') else: print('您的体重属于偏瘦') # 当性别为女时 elif gender == '女': # 判断 BMI 指数范围 if bmi >= 25.8: print('您的体重属于肥胖') elif bmi >= 23.4: print('您的体重属于超重') elif bmi >= 17.1: print('您的体重正常') else: print('您的体重属于偏瘦')
模块
# 导入 os 模块 import os # 导入 csv 模块 import csv # 设置文件夹路径 folder_path = '../工作/各班级成绩/' # 获取所有文件名 file_list = os.listdir(folder_path) # 设置文件的表头 head = ['姓名', '成绩'] # 设置一个空列表 rows = [] # 遍历所有文件 for file in file_list: # 通过文件夹拼接文件名的方式,获取文件路径 file_path = folder_path + file # 以自动关闭的方式打开文件 with open(file_path, 'r', encoding='utf-8') as f: # 以字典的形式获取 csv 文件信息 file_dict = csv.DictReader(f) # 打印字典的数据 for row in file_dict: print(row) # 将读取出来的行数据,循环写入 rows 列表中 rows.append(row) # 以末尾添加的方式写入文件 with open('../工作/总年级成绩单.csv', 'w', encoding='utf-8') as file: # 实例化类 DictWriter() 得到 DictWriter 对象 dict_write = csv.DictWriter(file, fieldnames=head) # 写入文件的表头 dict_write.writeheader() # 写入文件的多行内容 dict_write.writerows(rows)
导入模块 # 导入 os 模块 import os # 导入 csv 模块 import csv
# 获取所有文件名 file_list = os.listdir(folder_path)
listdir() 返回指定文件夹下,文件或文件夹名字的列表
#从 os 模块导入 listdir() 函数 from os import listdir file_name = listdir('./工作/各班级成绩') print(file_name)
# 以自动关闭的方式打开文件 with open(file_path, 'r', encoding='utf-8') as f:
opean() .close
子主题
子主题
# 导入 csv 模块 import csv # 设置【总年级成绩单.csv】文件的路径 result_path = '../工作/总年级成绩单.csv' # 设置【3班成绩单.csv】文件的路径 source_path = '../工作/各班级成绩/3班成绩单.csv' # 设置一个空列表 rows = [] # 以自动关闭的方式打开文件 with open(source_path, 'r', encoding='utf-8') as f: # 以字典的形式获取 csv 文件信息 csv_reader = csv.DictReader(f) # 读取表头 head = csv_reader.fieldnames # 打印字典的数据 for row in csv_reader: print(row) # 将读取出来的行数据,循环写入 rows 列表中 rows.append(row) # 以自动关闭的方式打开文件 with open(result_path, 'w', encoding='utf-8') as f: # 实例化类 DictWriter() 得到 DictWriter 对象 csv_writer = csv.DictWriter(f, fieldnames=head) # 写入文件的表头 csv_writer.writeheader() # 写入文件的多行内容 csv_writer.writerows(rows)
读取表头和写入表头 是一致的么?可不可以不一致 怎么操作
# 导入 csv 模块 import csv # 新建两个字典 dict1 = {'姓名': '王大帅', '身高': '176'} dict2 = {'姓名': '许漂亮', '身高': '177'} # 设置文件的表头 head = ['姓名', '身高'] # 设置总文件路径 file_path = '../工作/学生体检表.csv' # 以自动关闭的方式打开文件 with open(file_path, 'w', encoding='utf-8') as f: # 实例化类 DictWriter(),得到 DictWriter 对象 dict_write = csv.DictWriter(f, fieldnames=head) # 写入文件的表头 dict_write.writeheader() # 写入文件的单行内容 dict_write.writerow(dict1) dict_write.writerow(dict2)
设置表头传递给写入对象f # 设置文件的表头,格式可以为列表 head = ['姓名', '身高'] # 实例化类 DictWriter(),得到 DictWriter 对象 dict_write = csv.DictWriter(f, fieldnames=head)
# 实例化类 DictWriter(),得到 DictWriter 对象 dict_write = csv.DictWriter(f, fieldnames=head)
# 写入文件的表头(可为列表) dict_write.writeheader()
传参 # 写入文件的单行内容 dict_write.writerow(dict1) dict_write.writerow(dict2)
# 写入文件的多行内容 dict_write.writerows([dict1, dict2])