繁体   English   中英

我的代码为什么要换行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM