gpt4 book ai didi

python - 如何使用 Python 从文本文件中删除回车符?

转载 作者:太空狗 更新时间:2023-10-30 02:47:01 26 4
gpt4 key购买 nike

我用谷歌搜索的东西没有用,所以我求助于专家!

我在一个制表符分隔的文本文件中有一些文本,其中有某种回车符(当我在 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] 的文本行,它按预期工作。

最佳答案

根据文件的类型(以及它来自的操作系统等),您的回车可能是 '\r''\n''\r'\n'。无论它们是哪一个,摆脱它们的最好方法是使用 line.rstrip() .

with open(infile, "r") as f:
for line in f:
line = line.rstrip() # strip out all tailing whitespace

如果您只想去掉回车符而不想去掉末尾的任何额外空格,您可以向 rstrip 提供可选参数:

with open(infile, "r") as f:
for line in f:
line = line.rstrip('\r\n') # strip out all tailing whitespace

希望对你有帮助

关于python - 如何使用 Python 从文本文件中删除回车符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17658055/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com