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

liftword12小时前技术文章3


一、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. 与其他数据分析库结合

温馨提示:

- 耐心学习

- 多实践

- 不怕犯错

- 享受编程的乐趣!

学习路线图:

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

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

相关文章

使用python把csv汇总成excel(python怎么将csv文件中的列存入列表)

最近领导安排让我每周定时把grafana导出的csv文件进行统计汇总工作,需要处理的csv文件还是蛮多的,况且还要每周重复汇总处理。干脆写个脚本,每周执行一遍脚本,既方便还不会出错。一、需求分析1....

python爬虫25 | 爬取的数据怎么保存?CSV了解一下

大家好我是小帅b是一个练习时长两年半的练习生喜欢唱!跳!rap!篮球!敲代码!装逼!不好意思我又走错片场了接下来的几篇文章小帅b将告诉你如何将你爬取到的数据保存下来有文本文件、redis、数据库(My...

将MySQL查询结果输出为CSV格式的方法

技术背景在数据库管理和数据分析中,我们常常需要将MySQL查询结果以CSV格式输出,方便在其他工具(如Excel、Python数据分析库)中进行进一步处理。然而,由于CSV格式有其特定的规范,如字段分...

Django 如何使用视图动态输出 CSV 以及 PDF

Django 如何使用视图动态输出 CSV 以及 PDF这一篇我们需要用到 python 的 csv 和 reportLab 库,通过django视图来定义输出我们需要的 csv 或者 pdf 文件。...

Python版的迷你程序——json文件转换为csv

浅话C语言是过去几十年软件和硬件两个阵营之间,签署的最坚实的契约。硬件为C语言的语义提供了最能发挥其性能的基础构件,而软件虽然搞了很多的圆环套圆环般的层次,但最终都以C语言作为最后的沉淀收尾。----...

Python CSV文件的读写和处理(csv python 读取)

一、介绍CSV文件的概念和结构CSV(Comma-Separated Values,逗号分隔值)是一种常见的文本文件格式,用于存储表格数据。CSV 文件以纯文本形式存储数据,使用逗号作为字段之间的分隔...