我已经搜索过谷歌,但是没有找到有效的解决方法,所以现在我想请教专家!
我有一个以制表符分隔的文本文件,其中包含某种回车符(当我在Notepad ++中打开并使用“显示所有字符”时,在行末看到[CR] [LF])。 我需要删除这个回车符(或者它是什么),但我似乎无法弄清楚。以下是文本文件的片段,显示了一个带有回车符的行:
firstcolumn secondcolumn third fourth fifth sixth seventh
moreoftheseventh 8th 9th 10th 11th 12th 13th
这是我试图使用的代码来替换它,但它没有找到返回值:
with open(infile, "r") as f:
for line in f:
if "\n" in line:
line = line.replace("\n", " ")
我的脚本找不到回车符。我是做错了什么还是对回车符有错误的假设?我可以在文本编辑器中手动删除它,但是文本文件中大约有5000个记录也可能存在此问题。
更多信息: 这里的目标是从文本文件中选择两列,因此我按 \t 字符拆分并将值引用为数组的部分。它可以在没有回车符的任何行上工作,但是在有回车符的行上失败,例如,在这些行中没有元素9。
vals = line.split("\t")
print(vals[0] + " " + vals[9])
所以,对于上面的文本行,这段代码失败了,因为该特定数组中没有索引9。对于没有[CR][LF]的文本行,它按预期工作。
f = open(filename,"w", newline="\n")
打开文件,然后立即将其写回。 - roippi