Python 文件操作实战案例:CSV 文件处理
当然可以!下面是一个简单的实战案例,涵盖了文件的基本操作、文件系统操作和 CSV 文件操作。这个案例的目标是读取一个 CSV 文件,对数据进行处理,并将处理结果写入新的 CSV 文件中。
首先,我们需要创建一个名为'file_operations.py' 的 Python 文件,并导入必要的模块:
import csv
import os
接下来,我们定义一个函数process_csv_file,该函数将读取 CSV 文件,并对数据进行处理。在本例中,我们将读取一个包含学生姓名和分数的 CSV 文件,并计算每个学生的平均分数,并将结果写入新的 CSV 文件中。
def process_csv_file(input_file, output_file):
# 创建一个空的字典用于存储学生姓名和分数
student_scores = {}
# 读取 CSV 文件并将数据存储到字典中
with open(input_file, 'r') as file:
csv_reader = csv.reader(file)
next(csv_reader) # 跳过表头
for row in csv_reader:
student_name = row[0]
score = float(row[1])
if student_name in student_scores:
student_scores[student_name].append(score)
else:
student_scores[student_name] = [score]
# 计算每个学生的平均分数
student_averages = {}
for student_name, scores in student_scores.items():
average_score = sum(scores) / len(scores)
student_averages[student_name] = average_score
# 将结果写入新的 CSV 文件
with open(output_file, 'w', newline='') as file:
csv_writer = csv.writer(file)
csv_writer.writerow(['Student Name', 'Average Score'])
for student_name, average_score in student_averages.items():
csv_writer.writerow([student_name, average_score])
接下来,我们可以编写一个简单的主函数,用于测试我们的程序。在主函数中,我们将调用process_csv_file 函数,并传入输入文件和输出文件的路径。
def main():
input_file = 'students.csv'
output_file = 'student_averages.csv'
process_csv_file(input_file, output_file)
print('处理完成!')
if __name__ == '__main__':
main()
最后,我们可以创建一个名为students.csv 的 CSV 文件,作为输入文件,内容如下:
Student Name,Score
Alice,85
Bob,92
Alice,78
Bob,89
Charlie,95
Alice,90
完成以上步骤后,我们运行file_operations.py 文件,程序将读取students.csv 文件,并计算每个学生的平均分数。最后,程序将在当前目录下创建一个名为student_averages.csv 的新文件,其中包含每个学生的平均分数。
希望这个案例对你有帮助!如果有任何问题,请随时提问。
原文地址: https://www.cveoy.top/t/topic/qkcz 著作权归作者所有。请勿转载和采集!