龙空技术网

Python编程基础:使用csv模块读写CSV文件

青少年编程CodeTeen 104

前言:

而今小伙伴们对“python读取csv一列数据”大体比较关切,咱们都想要分析一些“python读取csv一列数据”的相关文章。那么小编也在网络上网罗了一些有关“python读取csv一列数据””的相关文章,希望小伙伴们能喜欢,小伙伴们一起来学习一下吧!

csv模块简介

csv 模块实现了 CSV 格式表单数据的读写。其提供了诸如“以兼容 Excel 的方式输出数据文件”或“读取 Excel 程序输出的数据文件”的功能,程序员无需知道 Excel 所采用 CSV 格式的细节。此模块同样可以用于定义其他应用程序可用的 CSV 格式或定义特定需求的 CSV 格式。

csv 模块中的 reader 类和 writer 类可用于读写序列化的数据。也可使用 DictReader 类和 DictWriter 类以字典的形式读写数据。

使用reader类读取数据

import csvwith open('code\students.csv', newline='', encoding='utf-8') as f: #newline=''可以根据系统选择换行符    rows = csv.reader(f)    for row in rows:        print(type(row)) #返回的类型list        print(row) #打印出列表        print(','.join(row)) #打印出用逗号分隔的字符串'''输出结果:<class 'list'>['学号', '姓名', '性别', '语文成绩', '数学成绩', '英语成绩']学号,姓名,性别,语文成绩,数学成绩,英语成绩<class 'list'>['10', '张三', '男', '90', '80', '94']10,张三,男,90,80,94<class 'list'>['11', '李四', '男', '99', '84', '99']11,李四,男,99,84,99<class 'list'>['12', '王五', '男', '66', '87', '76']12,王五,男,66,87,76<class 'list'>['13', '李红', '女', '50', '65', '82']13,李红,女,50,65,82'''
使用writer写入数据
import csvdata = []with open('code\students.csv', newline='', encoding='utf-8') as f: #从文件中读取数据    rows = csv.reader(f)    for row in rows:        data.append(row) #把读取数据保存到列表中with open('code\students2.csv', 'w', newline='', encoding='utf-8') as f:    writer = csv.writer(f)    writer.writerows(data) #方法一:一次写入多行        #方法二:以下代码一次写入一行    #for row in data:    #    writer.writerow(row)
使用DictReader读取数据
import csvwith open('code\students.csv', newline='', encoding='utf-8') as f:    reader = csv.DictReader(f)    for row in reader:        print(row)'''输出结果:{'学号': '10', '姓名': '张三', '性别': '男', '语文成绩': '90', '数学成绩': '80', '英语成绩': '94'}{'学号': '11', '姓名': '李四', '性别': '男', '语文成绩': '99', '数学成绩': '84', '英语成绩': '99'}{'学号': '12', '姓名': '王五', '性别': '男', '语文成绩': '66', '数学成绩': '87', '英语成绩': '76'}{'学号': '13', '姓名': '李红', '性别': '女', '语文成绩': '50', '数学成绩': '65', '英语成绩': '82'}'''
使用DictWriter写入数据
import csvwith open('code\students4.csv', 'w', newline='', encoding='utf-8') as f:    fieldnames = ['学号', '姓名', '性别', '语文成绩', '数学成绩', '英语成绩']    writer = csv.DictWriter(f, fieldnames=fieldnames)    writer.writeheader() #写入字段名称,占一行    writer.writerow({'学号': '12', '姓名': '王五', '性别': '男', '语文成绩': '66', '数学成绩': '87', '英语成绩': '76'})    writer.writerow({'学号': '13', '姓名': '李红', '性别': '女', '语文成绩': '50', '数学成绩': '65', '英语成绩': '82'})

标签: #python读取csv一列数据 #csv编程