2012-04-23 2 views
-4

Мне нужна помощь с скриптом оболочки, скриптом python или чем-нибудь, что может это сделать. Я хочу создать скрипт, который может анализировать следующую информацию из файла «txt» в csv. Информация Мне нужно разобрать мою онлайн-книгу, чтобы взять имя пользователя и оценку лаборатории. Счет лаборатории можно найти на этой линииМне нужна помощь в анализе txt с использованием любого скрипта

Your score for this lab: 20/20 

и имя пользователя можно найти на этой линии

Student: username0 

Спасибо за чтение и помогает мне!

Вот пример файла test.txt

Student: username0 

Your score for this lab: 20/20 

Score Breakdown: 
info... 

Part 1: 


Part 2: 


Part 3: 

------------------------------------------------ 
------------------------------------------------ 
------------------------------------------------ 
Student: username1 

Your score for this lab: 20/20 

Score Breakdown: 
info... 


Part 1: 


Part 2: 


Part 3: 

------------------------------------------------ 
------------------------------------------------ 
------------------------------------------------ 
Student: username2 

Your score for this lab: 20/20 

Score Breakdown: 



Part 1: 


Part 2: 


Part 3: 

------------------------------------------------ 
------------------------------------------------ 
------------------------------------------------ 
+2

«Пожалуйста, напишите мой код для меня». это не правильный голос для этого форума. Он должен быть сформулирован как «Я написал это, он не совсем работает, вы можете мне помочь?» –

+0

Извините, я просто был потерян, на каком скрипте использовать. Я никогда не писал сценарий раньше, но в следующий раз я дам понять, что я не хочу, чтобы мой код был написан, просто подсказка была бы приятной. Спасибо, что прочитал мой вопрос. – mshah

ответ

0

Ба, это так легко сделать в Python, то почему бы не поделиться им с вами?

def filtered(lines): 
    for line in lines: 
     if line.startswith('Student:') or line.startswith('Your score for this lab:'): 
      yield line.rstrip().split()[-1] 

with open('test.txt', 'r') as f: 
    for student, score in zip(*[filtered(f)]*2): 
     print(student, score) 
Смежные вопросы