我需要从文件中解析一些文本和整数

时间:2016-10-15 13:22:38

标签: python

我遇到了一个我想要解决的问题。我的目标是导入一个包含足球队名称的文件,然后输入胜负数,然后如果一支球队的平均值大于.500,那么我必须写出那支球队的名字,并且平均为一个新文件。然后我必须将.500以下的团队写成一个单独的文件。到目前为止,我有我的代码,以便它读取文件的每一行,但我无法弄清楚如何分析每行代码。我真的只是在寻找我现在可以获得的任何建议,我们将不胜感激。

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

4 个答案:

答案 0 :(得分:0)

您很可能最终会使用split方法,该方法每次遇到某个字符时都会将字符串分成一个列表元素。在这里阅读更多http://www.pythonforbeginners.com/dictionary/python-split

答案 1 :(得分:0)

您可以使用高级库来执行此操作,例如pandas

它有许多您想要的功能!

nulls

答案 2 :(得分:0)

给出文件的示例行,如下所示:

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

然后一些代码可能如下所示:

Cowboys 4 1

要查找具有x次胜负的球队的平均值,请执行以下操作:

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()

给出:

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

答案 3 :(得分:0)

如果您从输入中发布一些行,那将非常有用。 根据您的描述,我假设您输入中的每一行都有以下布局:

[NAME] X Y

其中,NAME是球队名称,X是胜利数,Y,输球数量。 你可以简单地用任何分隔符(在这个例子中是&#39;空格&#39;)分割线,

eachline = eachline.split()

如果有逗号分隔符,那么你执行eachline = eachline.split(',')等等,你就明白了。

然后每行将存储以下结构的列表['NAME', X, Y] 然后,您可以访问XY以使用eachline[0]eachline[1]分别对其进行平均。