Python 我需要解析文件中的一些文本和整数
我遇到了一个我正试图解决的问题。我的目标是导入一个包含足球队名称的文件,然后是赢家和输家的数量,如果一个队的平均值大于.500,我就必须将该队的名称和平均值写入一个新文件。然后,我必须将低于.500的团队写入一个单独的文件。到目前为止,我的代码可以读取文件的每一行,但我不知道如何分析每一行代码。我真的只是在寻找任何建议,我可以得到在这一点上,这将是非常感谢Python 我需要解析文件中的一些文本和整数,python,Python,我遇到了一个我正试图解决的问题。我的目标是导入一个包含足球队名称的文件,然后是赢家和输家的数量,如果一个队的平均值大于.500,我就必须将该队的名称和平均值写入一个新文件。然后,我必须将低于.500的团队写入一个单独的文件。到目前为止,我的代码可以读取文件的每一行,但我不知道如何分析每一行代码。我真的只是在寻找任何建议,我可以得到在这一点上,这将是非常感谢 scores = open("fbscores.txt",'r') eachline = scores.readline() while e
scores = open("fbscores.txt",'r')
eachline = scores.readline()
while eachline != "":
print(eachline)
eachline = scores.readline()
scores.close()
最有可能的结果是使用split方法,该方法在每次遇到某个字符时将字符串拆分为一个列表元素。在这里阅读更多 您可以使用高级库来实现这一点,如 它有许多你想要的功能
import pandas as pd
df = pd.read_csv('file.csv')
print(df)
给出如下文件的示例行:
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()
那么一些代码可能如下所示:
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()
给出:
>>> "%0.3f" % (4/(4+1))
'0.800'
>>>
如果你从你的输入中发布一些行,这真的很有帮助。 根据您的描述,我假设输入中的每一行都有以下布局:
[NAME] X Y
其中,NAME
是团队名称,X
是获胜次数,Y
是失败次数。
您可以简单地用任何分隔符(在本例中为“空格”)拆分该行
如果有逗号分隔符,那么您可以执行eachline=eachline.split(',')
等等操作,这样您就明白了
然后,eachline将存储以下结构的列表['NAME',X,Y]
然后,您可以访问
X
和Y
以分别使用:eachline[0]
和eachline[1]
对它们进行平均。获得帮助的最佳方法是发布一个要解析的文件的一些行。文件中的行是如何按空格分隔的?逗号?还有别的吗?您可能想看看string的split方法。此外,在读取/写入文件时,最佳做法是将它们包装在“with”关键字中。就我个人而言,我还将使用for循环来迭代“for line in scores.readlines():”这几行。看来您还有很多编码工作要做。我的建议是开始吧。文件的格式如下:NYGiants 5 2,只是用空格分隔。谢谢您的输入!我把这个网站作为书签,如果你觉得答案有帮助,请以投票的形式提供反馈。