Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我需要解析文件中的一些文本和整数_Python - Fatal编程技术网

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

Python 我需要解析文件中的一些文本和整数,python,Python,我遇到了一个我正试图解决的问题。我的目标是导入一个包含足球队名称的文件,然后是赢家和输家的数量,如果一个队的平均值大于.500,我就必须将该队的名称和平均值写入一个新文件。然后,我必须将低于.500的团队写入一个单独的文件。到目前为止,我的代码可以读取文件的每一行,但我不知道如何分析每一行代码。我真的只是在寻找任何建议,我可以得到在这一点上,这将是非常感谢 scores = open("fbscores.txt",'r') eachline = scores.readline() while e

我遇到了一个我正试图解决的问题。我的目标是导入一个包含足球队名称的文件,然后是赢家和输家的数量,如果一个队的平均值大于.500,我就必须将该队的名称和平均值写入一个新文件。然后,我必须将低于.500的团队写入一个单独的文件。到目前为止,我的代码可以读取文件的每一行,但我不知道如何分析每一行代码。我真的只是在寻找任何建议,我可以得到在这一点上,这将是非常感谢

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,只是用空格分隔。谢谢您的输入!我把这个网站作为书签,如果你觉得答案有帮助,请以投票的形式提供反馈。