在Python中使用txt文件

时间:2017-03-20 20:25:37

标签: python csv

我有一个txt文件,我需要通过python访问。 txt文件中的数据以CSV格式显示足球联赛。 CSV数据涵盖所玩的游戏,赢了和输,这将计算团队积分(获胜2分,亏损0分)。我知道如何开始这个但不确定我是否已经开始了。

如何计算每个团队的总积分?我可以从txt文件中获取数据上方的标题吗? (团队,玩过,赢过,失去,总计)任何支持都将受到赞赏。

CSV数据:

Liverpool,19,7,12
Chelsea,19,8,11
Arsenal,19,0,19
Tottenham,19,7,12
Man Utd,19,7,12
Man City,19,5,14
Southampton,19,3,16

代码:

    text_file = open ("leagueResults.txt","r")
    print (text_file.read())
    text_file.close()

1 个答案:

答案 0 :(得分:0)

如评论中所述,您应该查看csv模块。

但是在你的情况下,因为我假设你刚刚开始学习python并且问题相对微不足道,我们可以通过在分隔符,上逐行读取文件来实现。

team_name = []
games_won = []

num_records = 0
with open('leagueResults.txt') as f:
    for line in f:
        record = line.strip().split(',')
        team_name.append(record[0])
        games_won.append(record[2])
        num_records += 1

print("Points Table")
print("============")
for i in range(0, num_records):
    print("%s: %d" % (team_name[i], (int(games_won[i]) * 2)))

<强>输出:

Points Table
============
Liverpool: 14
Chelsea: 16
Arsenal: 0
Tottenham: 14
Man Utd: 14
Man City: 10
Southampton: 6

请注意我只对team_namegames_won感兴趣,因为这些是实际需要计算问题中每个团队的点数所需的两个(games_played总是{ {1}}和19对总点数没有影响,因为它在总点数计算中乘以games_lost的比例因子)。