Python中的CSV文件处理:简单、灵活的数据操作

星河几重 2024-04-07 11:56:31 浏览数 (474)
反馈

CSV(逗号分隔值)文件是数据存储和交换的常见格式,而Python作为一门强大的编程语言,能够轻松处理CSV文件。本文将通过具体实例分析,展示Python在处理CSV文件方面的便利性和应用场景。


首先,让我们看一个简单的例子。假设我们有一个包含学生信息的CSV文件(students.csv),其中包括学生姓名、年龄和成绩。我们想要通过Python读取这个文件,并计算平均成绩。

import csv
# 打开CSV文件 with open('students.csv', 'r') as file: # 创建CSV读取器 csv_reader = csv.reader(file) # 跳过表头 next(csv_reader) # 初始化成绩总和和学生人数 total_score = 0 num_students = 0 # 逐行读取文件 for row in csv_reader: # 提取成绩列并转换为整数 score = int(row[2]) # 累加成绩 total_score += score num_students += 1 # 计算平均成绩 average_score = total_score / num_students print(f'平均成绩:{average_score}')

以上代码演示了如何使用Python的CSV模块读取CSV文件,并计算其中一列的平均值。这只是处理CSV文件的冰山一角,Python还提供了丰富的库和函数,用于处理各种CSV操作,如写入、过滤、排序等。

接下来,我们看一个更复杂的例子。假设我们需要将一个包含商品信息的CSV文件(products.csv)中的特定商品价格降低10%。我们可以使用Python修改CSV文件并保存新的结果。

import csv
# 打开CSV文件 with open('products.csv', 'r') as file: # 创建CSV读取器 csv_reader = csv.reader(file) # 读取表头 header = next(csv_reader) # 找到价格列的索引 price_index = header.index('Price') # 读取并修改每一行的价格 for row in csv_reader: # 提取价格并转换为浮点数 price = float(row[price_index]) # 降低价格10% new_price = price * 0.9 # 更新价格列 row[price_index] = new_price # 将修改后的结果写入新的CSV文件 with open('updated_products.csv', 'w', newline='') as new_file: # 创建CSV写入器 csv_writer = csv.writer(new_file) # 写入表头 csv_writer.writerow(header) # 写入修改后的行 csv_writer.writerows(rows)

以上例子展示了如何使用Python读取CSV文件,找到特定列,修改数据,最后将结果写入新的CSV文件。这种操作对于批量处理数据非常实用,Python的简洁语法和丰富的库让这些任务变得相对轻松。

总的来说,Python能够轻松操控CSV文件,不仅具有良好的读取和写入支持,还提供了丰富的数据处理功能。这使得Python成为处理CSV文件的理想选择,无论是简单的数据提取还是复杂的数据处理任务。

0 人点赞