百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Python CSV库:数据处理的超级英雄

haoteby 2024-12-30 04:12 1 浏览


一、CSV是什么?

CSV就像是一个电子表格,数据排成行和列,用逗号分隔。

想象它是一个非常整洁的表格,每一行是一条记录,每一列是一种信息。

二、CSV库的基本功能

1. 读取CSV文件

2. 写入CSV文件

3. 处理不同格式的数据

三、实战教学

1. 读取CSV文件

import csv
# 最简单的读取方式
with open('students.csv', 'r') as file:
# 创建读取器
reader = csv.reader(file)

# 逐行读取
for row in reader:
print(row) # 每一行是一个列表


2. 写入CSV文件

import csv
# 准备数据
students = [
['小明', 18, '男'],
['小红', 17, '女']
]
# 写入文件
with open('new_students.csv', 'w', newline='') as file:
				writer = csv.writer(file)

# 写入标题行
writer.writerow(['姓名', '年龄', '性别'])

# 写入数据
writer.writerows(students)


3. 字典方式读写(更高级)

import csv
# 字典方式读取
with open('students.csv', 'r') as file:
reader = csv.DictReader(file)
for row in reader:
			print(row['姓名'], row['年龄'])
# 字典方式写入
data = [
{'姓名': '小明', '年龄': 18, '班级': '高一'},
{'姓名': '小红', '年龄': 17, '班级': '高二'}
]
with open('students_dict.csv', 'w', newline='') as file:
# 定义字段名
fieldnames = ['姓名', '年龄', '班级']

writer = csv.DictWriter(file, fieldnames=fieldnames)

# 写入标题
writer.writeheader()

# 写入数据
writer.writerows(data)


四、常见场景示例

1. 成绩统计

import csv  

def calculate_average_score(filename):  
    total_score = 0  
    student_count = 0  
    
    with open(filename, 'r') as file:  
        reader = csv.DictReader(file)  
        for row in reader:  
            total_score += float(row['成绩'])  
            student_count += 1  
    
    return total_score / student_count if student_count > 0 else 0  

# 使用示例  
avg_score = calculate_average_score('scores.csv')  
print(f"平均分:{avg_score}")


2. 数据筛选

import csv  

def filter_high_performers(filename, min_score=80):  
    high_performers = []  
    
    with open(filename, 'r') as file:  
        reader = csv.DictReader(file)  
        for row in reader:  
            if float(row['成绩']) >= min_score:  
                high_performers.append(row)  
    
    return high_performers  

# 使用示例  
top_students = filter_high_performers('scores.csv')  
for student in top_students:  
    print(f"优秀学生:{student['姓名']}")


五、注意事项

1. 使用 `newline=''` 避免额外空行

2. 注意文件编码(尤其是中文)

3. 处理可能的类型转换

4. 异常处理很重要

六、实践建议

入门练习:

1. 创建一个学生信息CSV文件

2. 读取并打印所有学生信息

3. 计算平均年龄

4. 筛选特定条件的学生

进阶挑战:

1. 处理复杂的CSV文件

2. 数据清洗和转换

3. 与其他数据分析库结合

温馨提示:

- 耐心学习

- 多实践

- 不怕犯错

- 享受编程的乐趣!

学习路线图:

基础 → 读写 → 处理 → 分析 → 可视化

相信你一定可以成为数据处理高手!

相关推荐

wordpress集团公司网站模板:XSgr

小兽wordpress推出一款高端集团公司主题,打造高品质官网。高端是一种态度和坚持,因为我坚信贴合产品及品牌理念的高端深度定制才能最大化地呈现企业的务实严谨与产品的专业品质相比,某种程度上讲–...

宝塔搭建WordPress跨境电商外贸商城模板汉化woodmart7.5.1源码

大家好啊,欢迎来到web测评。本期给大家带来一套php开发的WoodmartV7.5.1汉化主题|跨境电商|外贸商城|产品展示网站模板WordPress主题,是wordpress开发的。上次是谁要的系...

Wordpress建站设计技巧:用好Wordpress自带样板功能

作者:悦然wordpress建站(悦然建站)...

微软推出Azure平台WordPress模板:分分钟搭建博客

IT之家讯微软Azure云服务平台可以托管各种各样的Web服务,从企业应用后端服务到视频托管服务等等。WordPress是目前最为流行的博客平台,驱动着全球1/4的互联网网站。不过用户想要在Azur...

wordpress公司展示型通用模板:XShw

主题介绍xshw公司模板是一款现代化风格、通用型公司展示的Wordpress公司建站模板,采用经典的颜色搭配、精致的模块布局、完善的列表模板、响应式自适应技术以及配置的大幅全屏轮播图、公司简介、业务介...

WP模板开发中,怎样给wordpress网站的文章,添加点赞功能?

我们在网上浏览某些网站的文章时,在文章的结尾处,都会有一个点赞的按钮,如果觉得文章内容非常不错,就可以点击这个“点赞”按钮,给这篇文章进行点赞一下。在wordpress网站的模板主题开发中,我们可不可...

免费的WordPress模板

免费的WordPress模板有很多种类,适用于不同类型的网站需求。以下是一些推荐的免费WordPress模板,它们各具特色,适合多种用途:...

东港边检站开展全面清理自制执勤执法证件表单专项工作

为进一步提高边检机关依法行政和服务管理水平,根据部局和总站统一部署,6月3日下午,东港边检站迅速开展全面清理自制执勤执法证件表单专项工作。一是统一思想,提高认识。该站于6月3日召开专题会议,传达部局视...

两款超级好用的二维码生成器软件,铁铁们快码住

今天分享两款超级好用的二维码生成器,个人认为衡量是否是好用的二维码生成器的主要有以下维度(仅从用户体验角度)...

扫码填表如何拍摄现场照片?表单添加图片的二维码制作方法

现在通过扫描二维码来登记信息的方式非常的常见,有很多的应用场景会使用这种方式来统计数据,比如问卷调查、用户反馈、巡检结果等类型。通过扫码填写信息后,制作者可以及时的获取对应的数据做出反馈。那么表单二维...

纯干货∣教你如何制作一份具有法律效应的“电子合同”

表单中使用电子合同时,不仅需要进行功能设置,还需要制作一份PDF格式的模板...

金山表单硬核功能“在线考试”上线

近日,金山文档针对教师用户群体上线“在线考试”考试功能。教育从业者可在金山文档内完成考试、练习测验、竞赛和作业布置。与此同时,该功能还具备自动批改计分、答案解析、成绩展示、信息收集等特色功能。充分适配...

报名小程序怎么制作?借助这个报名表单工具一键搞定

报名表单广泛应用于各类活动、课程、会议和招募等场景中,用于收集报名者的个人信息和参与意愿,方便组织者进行统计、管理和沟通。表单制作不需要写代码,学会借助线上报名表单工具就能一键搞定。...

货代人的表单制作方式,该升级了!

很多在货代行业工作的人可能会思考是否将销售岗位转为操作岗位,因为货代销售工作需要不断迎接业绩的挑战,每个月都要全力以赴,但绩效考核的结果并不总是确定的。...

为你的WordPress widget建立表单

通过之前的三部分教程我们已经创建了一个自己的WordPresswidget。今天我们将给大家介绍如何为你的widget创建表单,以至于WordPress可以及时的更新widget设置。为widget...