python读取文件并整理输出,读取输入文件并写入输出文件-Python

I have an input file (input.txt) with the following information:

Number of students (first line)

Number of test scores (second line)

list of student names and scores

So the text file looks something like this

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

I am trying to create a python program that will read this information, and output certain values (class average score, student names, student scores, etc) into a different file (output.txt).

I've been working through it, and I can never get my program to do everything that I need. I am only able to, for example, output the class average only, or one student's score only. I can't figure out how to output more than one function.

I could really use some help.

解决方案

You're going to want to use Pandas (See also Pandas Manual) for this.

First, copy the following to your clipboard:

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

Next, run the following script:

#%% 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']

The script will calculate a couple of your requests. One thing it doesn't do is load your your file (you'll have to remove the lines containing the number of students & test scores but no worries, it is recalculated from the score data itself). I've included a hint about how to do this in the comments and leave it to you to implement.

I encourage you to go through it and explore what removing some lines or changing others will do.

Finally, on behalf of the SO community I say WELCOME! I know it seems like you're off to a rough start (with all the downvotes and all) but don't let that discourage you. Read through How to ask a good question, come on back, and help us learn together!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值