编辑:当我写下这个答案时,我误解了csv模块的输出方式,但是我没有删除它,因为它有助于对它进行降档的注释。请看我最近更准确的答案。
downshift在评论中回答了这一点,但我将尝试更详细地说明为什么会发生这种情况。在
当您从csv读取器中读入每一行时,它将给出整行,其中在末尾包含换行符(\n)。您的问题源于这样一个事实:当您写入文件时,write函数会将它自己的换行符添加到字符串的末尾。幸运的是,有两种非常简单的方法可以从csv读取器返回的行尾删除换行符。在
一种方法是使用字符串的.strip()方法,它以字符串的形式接收一些字符作为输入,并从字符串的末尾尽可能多地剥离这些字符。使用此方法可以替换:allfilms.append(row)
与
^{pr2}$
另一种方法是使用字符串切片并切掉字符串的最后一个字符。我不建议您对此使用字符串切片,因为它不太清楚您在做什么,但是如果您愿意,您可以替换:allfilms.append(row)
与allfilms.append(row[:-1])
row[:-1]将返回排除最后一个字符的行,丢弃换行符。在
希望这对你有帮助!在