Python读取输入文件并写入输出文件

2024-04-20 09:08:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个输入文件(输入文件)包含以下信息:

  • 学生人数(一线)
  • 考试分数(第二行)
  • 学生姓名和分数表

所以文本文件看起来像这样

4
5

Jane Doe,80,75,90,100,95,68
Sara Jones,65,80,72,90,75,80
Bill Smith,50,70,90,70,55,90
John Foles,95,90,85,80,88

我试图创建一个python程序来读取这些信息,并将某些值(班级平均成绩、学生姓名、学生成绩等)输出到另一个文件中(输出.txt). 你知道吗

我一直在努力,但我无法让我的程序完成我需要的一切。例如,我只能输出班级平均分,或者只输出一个学生的分数。我不知道如何输出多个函数。你知道吗

我真的需要一些帮助。你知道吗


Tags: 文件程序信息学生分数姓名文本文件人数
1条回答
网友
1楼 · 发布于 2024-04-20 09:08:53

为此,您需要使用Pandas(另请参见Pandas Manual)。你知道吗

首先,将以下内容复制到剪贴板:

Jane Doe,80,75,90,100,95,68
Sara Jones,65,80,72,90,75,80
Bill Smith,50,70,90,70,55,90
John Foles,95,90,85,80,88

接下来,运行以下脚本:

#%% Load Your Data
import pandas as pd
df = pd.read_clipboard(sep = ',')

# YOU WILL HAVE TO LOAD YOUR ACTUAL DATA AS FOLLOWS:
# file_path = 'path/to/your/file.txt'
# df = pd.read_csv() 

number_of_students = df.shape[0]
number_of_tests = df.shape[1] -1  # This is the number of columns you have
score_names = ['score' + str(number+1) for number in range(number_of_tests)]
df.columns = ['student'] + score_names # Prepares the column names
df.set_index('student',inplace=True) # Makes the student names the index

#%% Calculate Maximum, Minimum and Average Class Score per test    
score_summaries = df.describe()

#%% Calulate the average score for all students across all tests
average_exam_score = df.mean().mean()

#%% A single students' score
df.loc['Sara Jones']

脚本将计算您的几个请求。它没有做的一件事是加载您的文件(您必须删除包含学生数和考试分数的行,但不用担心,它是从分数数据本身重新计算的)。我在评论中包含了一个关于如何做到这一点的提示,并将其留给您来实现。你知道吗

我鼓励你通过它,探索删除一些行或改变其他行将做什么。你知道吗

最后,我代表社会各界表示欢迎!我知道你的开局看起来很艰难(所有的反对票和所有的反对票),但不要因此而气馁。通读How to ask a good question,回来,帮助我们一起学习!你知道吗

相关问题 更多 >