[英]Why does my code make a new line
我的任务是从一个txt文件中获取一些棒球队的统计数据,找到获胜百分比,然后将其输出到另一个文件中。
我的代码如下
infile = open("ALE.txt", "r")
outfile = open("ALE_sorted.txt", "w")
for line in infile:
data = line.split(',')
wins = eval(data[2])
percentage = 162 / wins
outfile.write(str(data[0]) + ", " + data[1] + ", " + data[2] + ", " +
str(round(percentage, 3)) + "\n")
infile.close()
outfile.close()
初始txt文件的格式如下(团队,获胜和损失):
巴尔的摩93,69
波士顿69,93
纽约95,67
坦帕湾90,72
多伦多73,89
虽然我的代码正确地计算了获胜的百分比,但它会创建一条线,但我不知道为什么,看起来像这样:
巴尔的摩,93,69
,2.348
波士顿,69,93
,1.742
纽约,95,67
,2.418
坦帕湾,90,72
,2.25
多伦多,73,89,1.82
它只能是5行,而不是每次都在第三个逗号之前创建新行。 我尝试删除“ \\ n”,但无济于事。 有小费吗?
尝试更改:
data = line.split(',')
至:
data = line.strip().split(',')
“行”定义为“以行终止符结尾的字符串”。 因此,在阅读第一行之后,该line
包含"Baltimore,93,69\\n"
。 拆分后, data
为["Baltimore", "93", "69\\n"]
。 打印data[2]
,会有一个换行符-因为您从未删除过它。
使用data = line.rstrip('\\n').split(',')
删除它。 rstrip
从字符串末尾删除指定的字符。 .rstrip()
也可以,但是它将删除所有空白(例如尾随空格)。
您的data[2]
包含换行符。 只需将其剥离即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.