2016-10-15 3 views
-1

У меня проблемы с проблемой, которую я пытаюсь сделать. Моя цель - импортировать файл, содержащий имена футбольных команд, а затем количество побед и потерь, а затем, если среднее значение команды больше 0,5., То мне нужно написать название команд и среднее значение для нового файла. И тогда я должен написать команды под .500 в отдельный файл. пока у меня есть свой код, чтобы он читал каждую строку файла, но я не могу понять, как анализировать каждую строку кода. Я действительно просто ищу любые советы, которые я мог бы получить в этот момент, и это было бы весьма признательно.Мне нужно разобрать текст и целые числа из файла

scores = open("fbscores.txt",'r') 
eachline = scores.readline() 
while eachline != "": 
    print(eachline) 
    eachline = scores.readline() 
scores.close() 
+1

Лучший способ получить помощь - разместить некоторые строки файла, который вы хотите разборки –

+0

Как строки в файле ограничены пробелом? запятая? что-то другое? Вы можете посмотреть на метод разделения строк. Кроме того, при чтении/записи файлов лучше всего заключить их в ключевое слово «с» [doc] (https://docs.python.org/2/tutorial/inputoutput.html). Лично я бы также использовал цикл for для итерации по линиям «для строки в scores.readlines():». –

+0

Похоже, перед вами впереди хорошая работа по кодированию. Мой совет - начать. – TigerhawkT3

ответ

0

Учитывая пример строку файла, как это:

Cowboys 4 1 

Тогда какой-то код может выглядеть следующим образом:

line = scores.readline().split() 
teamName = line[0] 
wins = int(line[1]) 
losses = int(line[2]) 

if wins > losses: 
    print(teamName + "'s record is over .500!") 
    goodTeams.write(line) 
    goodTeams.write() #make a new line 
else: 
    print(teamName + "'s record is <= .500.") 
    badTeams.write(line) 
    badTeams.write() 

Чтобы найти среднюю команду с й победами и y убытки, do:

"%0.3f" % (x/(x+y)) 

Дать с:

>>> "%0.3f" % (4/(4+1)) 
'0.800' 
>>> 
+0

Привет! это действительно полезно – Hirschzd01

+0

Если вы найдете ответ полезным, пожалуйста, сообщите обратную связь в виде upvote. – cs01

0

Вы, скорее всего, будет в конечном итоге, используя метод разделения, который разбивает строку на части в элемент списка каждый раз, когда он сталкивается с определенным характером. Подробнее здесь http://www.pythonforbeginners.com/dictionary/python-split.

+0

Спасибо за ввод!У меня есть этот сайт в виде закладки haha ​​ – Hirschzd01

+0

Не стесняйтесь отвечать на вопросы, которые вам помогли – cs01

0

Для этого вы можете использовать библиотеку высокого уровня, например pandas.

У этого есть много функций, которые вы хотите!

import pandas as pd 
df = pd.read_csv('file.csv') 
print(df) 
0

Это действительно полезно, если вы разместите несколько строк со своего ввода. По вашему описанию, я предполагая каждую строку в вашем входе имеет следующую структуру:

[NAME] X Y 

Где, NAME это название команды, X является количество побед, Y число проигрывает. Вы можете просто разделить строку любого разделителя (что «пространство» в данном примере случае),

eachline = eachline.split() 

Если была запятая, то вы eachline = eachline.split(',') и так далее, вы получите идею.

Тогда eachline будет хранить список следующей структуры ['NAME', X, Y] Тогда вы можете получить доступ к X и Y усреднить их с помощью: eachline[0] и eachline[1] соответственно.

+1

Хорошо, спасибо, что помогает мне на тонну! Спасибо! – Hirschzd01

Смежные вопросы