无法删除python中的新行字符

无法删除python中的新行字符,python,Python,我有一段代码,它连接到一个SQL数据库,获取所有行并将它们从文件和一个到文件拆分成一个。以前,在将行添加到数据库之前,我已经用“newlinechar”替换了每一个新行字符(\n),以便生成的文本文件中的每一行都是一个条目。但是,尽管数据库有125000个条目,但输出文件的长度超过100行,这意味着一些条目仍然包含“\n”字符。 因此,在将它们添加到文本文件之前,我尝试在每个条目上使用replace(“\n”,”),以确保没有意外的新行 但一切都没有改变。我做错了什么?为什么我不能从条目中删除新

我有一段代码,它连接到一个SQL数据库,获取所有行并将它们从文件和一个到文件拆分成一个
。以前,在将行添加到数据库之前,我已经用“
newlinechar
”替换了每一个新行字符(\n),以便生成的文本文件中的每一行都是一个条目。但是,尽管数据库有125000个条目,但输出文件的长度超过100行,这意味着一些条目仍然包含“\n”字符。 因此,在将它们添加到文本文件之前,我尝试在每个条目上使用
replace(“\n”,”)
,以确保没有意外的新行

但一切都没有改变。我做错了什么?为什么我不能从条目中删除新行

conn = sqlite3.connect("latest.db")

c = conn.cursor()
c.execute('SELECT * FROM comments')

ns = 0
vals = c.fetchall()

with open("train.from", "w", encoding="utf8") as f, open("train.to", "a", encoding="utf8") as t:

    for row in vals:


        r1 = (row[0].replace('\n', ""))
        r2 = (row[1].replace('\n', ""))
        f.write(r1 + "\n")
        t.write(r2 + "\n")
以下是仍包含换行符的数据库条目之一:

My last few years was me working as a store manager (minimum 54 hours a week) and going to school part time to avoid taking out loans.
 newlinechar 
 newlinechar It took a while, but I got my degree and it's paid for itself many times over.
如您所见,“loans”后面有一个“\n”字符。但如果我使用此代码“手动”删除它:

st = """My last few years was me working as a store manager (minimum 54 hours a week) and going to school part time to avoid taking out loans.
 newlinechar 
 newlinechar It took a while, but I got my degree and it's paid for itself many times over."""

print(st.replace("\n", ""))
它被移除了。 但当在上述代码的循环中完成时,它不会:
感谢@syntaxVoid指出这一点: 您可以通过
print(repr())
查看句子中的特殊字符。
使用上面的句子运行此函数后,我发现“\n”和“\r”由于某种原因没有被删除,因此我使用
.replace(“\r”)
删除了它们。按此顺序replace(“\n”,”)
,它成功了。

实际打印出这行内容并查看一下。我敢打赌里面也有一个
'\r'
,这会把工作搞得一团糟。如果您使用原始条目并使用
str.splitlines()
,可能会更好,这将正确地分割行(希望如此)。然后你可以将(…)
结果连接到每个条目之间,在每个条目之间放置
“newlinechar”
。顺便说一下,你可以通过执行
打印(repr(s))
来查看字符串的
\n
\r
字符