MST

星途 面试题库

面试题:Python实现对CSV文件数据复杂过滤及写入新文件

有一个CSV文件,其中包含学生的姓名、成绩、班级等信息。要求编写Python代码,筛选出成绩大于80分且班级为'一班'的学生信息,并将这些筛选后的信息写入到一个新的CSV文件中,新文件表头需和原文件一致。
19.5万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
import csv


def filter_students():
    input_file = 'original.csv'
    output_file = 'filtered.csv'
    with open(input_file, 'r', newline='', encoding='utf-8') as infile:
        reader = csv.DictReader(infile)
        headers = reader.fieldnames
        filtered_data = []
        for row in reader:
            if int(row['成绩']) > 80 and row['班级'] == '一班':
                filtered_data.append(row)
    with open(output_file, 'w', newline='', encoding='utf-8') as outfile:
        writer = csv.DictWriter(outfile, fieldnames=headers)
        writer.writeheader()
        for row in filtered_data:
            writer.writerow(row)


if __name__ == "__main__":
    filter_students()

请确保将original.csv替换为实际的包含学生信息的CSV文件名,filtered.csv替换为你希望生成的筛选后数据的CSV文件名。这段代码首先读取原始CSV文件,筛选出符合条件的学生信息,然后将筛选后的数据写入新的CSV文件,并保留原文件的表头。