任务6.3 读写CSV文件(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)

2024-08-10
| 16页
| 37人阅读
| 11人下载
普通

内容正文:

任务6.3 读写CSV文件 成绩统计排序 python 6.3 读写CSV文件——成绩统计排序 【任务描述】 期末考试后,学生各门课程的成绩被存放到成绩的文件score.csv中,小T想用Python编程帮助老师统计每个学生的总分,根据总分从高到低排序,最后将结果输出到屏幕上,并写入新文件scoreSort.csv。 python 6.3 读写CSV文件——成绩统计排序 【任务分析】 根据任务需求,首先要从成绩文件score.csv中读取成绩数据。由于CSV文件有一定的格式规范,因此需要对读取的内容进行相应的转换处理;然后对获取的数据进行计算;完成计算后,对数据进行排序输出,最后将数据写入scoreSort.csv文件即可。 从上面的分析中可以看出,解决问题的关键是CSV文件数据的读取及转换处理,下面我们就来了解CSV文件的格式及读写操作方法。 python 6.3 读写CSV文件——成绩统计排序 6.3.1 CSV格式文件 6.3.2 CSV格式文件读写 6.3.3 任务实现——成绩统计排序 python 6.3.1 CSV格式文件 python 6.3.1 CSV格式文件 CSV(Comma-separated Values,逗号分割值)是一种通用的、相对简单的文件格式。 CSV格式文件以纯文本形式存储表格数据,文件的每一行都对应表格中的一条记录,每条记录由一个或多个字段组成,字段之间使用某个字符或字符串分隔。最常用的分隔符是逗号(英文,半角)或制表符。 CSV格式文件是文本文档,对文本文件进行读、写的方法都适用于CSV格式文件的数据处理。而CSV格式文件中的数据基本上是由行和列构成的二维数据,可以使用列表嵌套的方法来进行转换处理。 姓名,语文,数学,英语,理综李莎,116,138,134,256陈锋,122,134,127,271叶佳佳,118,140,128,262张兰,125,145,133,238邓阳,123,128,127,265李立文,132,110,132,247 python 6.3.2 CSV格式文件读写 python 1.数据读取 Python3操作CSV文件可使用自带的csv包。通过csv包中的函数可以方便地对csv文件进行读写操作。这里以score.csv文件为例,读取文件内容并计算每名学生的总分,最后将其输出到屏幕上。 Python通过csv包中的reader()函数来读取文件中的数据,并返回生成器reader,以行为单位,每次读取一行,其语法格式如下: 其中,f为读取的文件,delimiter参数指定分隔符为逗号(默认值),函数结果返回生成器reader,每次读取一行数据,为列表格式。 6.3.2 CSV格式文件读写 csv.reader(f, delimiter=',') python 根据数据的逻辑存储结构,文件可分为文本文件和二进制文件。文本文件是指以单一特定字符编码形式存储数据的文件。如按照UTF-8编码格式组织的文件。我们常见的.txt文档,.py的python源代码文件都是文本文件。 二进制文件:没有统一的字符编码,按照预定义的格式组织数据。如可执行程序、图形、图像、声音等文件都是二进制文件。 6.3.2 CSV格式文件读写 【例6-25】读取CSV文件。 import csv with open("score.csv",encoding="utf-8") as f: data = csv.reader(f,delimiter=',') header = next(data) #获取标题行数据 print(header) for line in data: print(line) ['姓名', '语文', '数学', '英语', '理综'] ['李莎', '116', '138', '134', '256'] ['陈锋', '122', '134', '127', '271'] ['叶佳佳', '118', '140', '128', '262'] ['张兰', '125', '145', '133', '238'] ['邓阳', '123', '128', '127', '265'] ['李立文', '132', '110', '132', '247'] python 2.数据写入 使用csv包中的writer()函数写入CSV文件,其语法格式如下: csv.writer()返回一个csv.writer对象,使用csv.writer对象可将用户的数据写入该csv.writer对象对应的文件中。csvfile为文件对象。csv.writer()生成的 csv.writer文件对象支持以下写入CSV文件的方法: (1)writerow(列表):写入一行数据。 (2)writerows(嵌套列表):写入多行数据。 6.3.2 CSV格式文件读写 writer = csv.writer(csvfile) python 根据数据的逻辑存储结构,文件可分为文本文件和二进制文件。文本文件是指以单一特定字符编码形式存储数据的文件。如按照UTF-8编码格式组织的文件。我们常见的.txt文档,.py的python源代码文件都是文本文件。 二进制文件:没有统一的字符编码,按照预定义的格式组织数据。如可执行程序、图形、图像、声音等文件都是二进制文件。 6.3.2 CSV格式文件读写 【例6-26】数据写入CSV文件。 import csv header = ['姓名', '语文', '数学', '英语', '理综'] data = [['李莎', '116', '138', '134', '256'], ['陈锋', '122', '134', '127', '271'], ['叶佳佳', '118', '140', '128', '262'], ['张兰', '125', '145', '133', '238’]] with open("score2.csv",'w',encoding="utf-8",newline='') as f: writer = csv.writer(f) writer.writerow(header) # 写入一行数据 writer.writerows(data) # 写入多行数据 需要注意的是,在打开文件时,需要指定不自动添加新行newline='',否则每写入一行就会出现一个空行。 python 6.3.3 任务实现——成绩统计排序 python 6.3.3 任务实现——成绩统计排序 【任务描述】 期末考试后,学生的成绩从系统中导出保存在文件score.csv中,编程统计每个学生的总分,并根据总分从高到低排序,最后将结果输出到屏幕上,并写入新文件scoreSort.csv中。 python 6.3.3 任务实现——成绩统计排序 【任务分析】 以CSV文件格式保存的成绩表是由行和列构成的二维数据,转换为二维列表能够方便访问和计算;在转换为二维列表之后,通过列表排序的方法解决排序的问题;数据包含标题行,在处理的过程中,可以将标题行单独处理。 python 6.3.3 任务实现——成绩统计排序 【例6-27】任务实现——成绩统计排序。 import csv with open("score.csv",encoding="utf-8") as f: data = csv.reader(f,delimiter=',') header = next(data) # 获取标题行数据 body = [] for line in data: body.append(line) header.append('总分') (1) 获取标题行数据 python 文件和目录管理涉及的函数较多,这里只介绍了常用的一些函数。要掌握这些函数的使用,还需要多在实践中练习。这里有一个操作示例:编写函数,获取目录的大小。我们来看看如何完成。 6.3.3 任务实现——成绩统计排序 (2)计算总分,排序 #计算总分 for line in body: sum = 0 for i in range(1,len(line)): sum += int(line[i]) line.append(str(sum)) # 排序 body.sort(key = lambda x:int(x[5]),reverse=True) #写入数据 with open("scoreSort.csv",'w',newline='') as f: writer = csv.writer(f) writer.writerow(header) writer.writerows(body) 姓名,语文,数学,英语,理综,总分陈锋,122,134,127,271,654叶佳佳,118,140,128,262,648李莎,116,138,134,256,644邓阳,123,128,127,265,643张兰,125,145,133,238,641李立文,132,110,132,247,621 python 文件和目录管理涉及的函数较多,这里只介绍了常用的一些函数。要掌握这些函数的使用,还需要多在实践中练习。这里有一个操作示例:编写函数,获取目录的大小。我们来看看如何完成。 $$

资源预览图

任务6.3  读写CSV文件(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
1
任务6.3  读写CSV文件(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
2
任务6.3  读写CSV文件(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
3
任务6.3  读写CSV文件(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
4
任务6.3  读写CSV文件(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
5
任务6.3  读写CSV文件(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。