努力自动清除文本文件以进行一些后续数据分析。我有一个文本到选项卡文件,需要删除\ t“文本实例(删除“但保留选项卡”)。
然后,我想删除\ n之前的字符 也不是\ r的实例。即\ r \ n可以,x \ n不能。我的第一部分正在工作,但第二部分没有任何帮助。我很欣赏可能有更好的方法来执行此操作,因为我正在编写然后以字节格式打开,只是因为我似乎无法在“ r”模式下检测到/ r。
import re
import sys
import time
originalFile = '14-09 - Copy.txt'
amendedFile = '14-09 - amended.txt'
with open(originalFile, 'r') as content_file:
content = content_file.read()
content = content.replace('\t\"','\t')
with open(amendedFile,'w') as f:
f.write(content)
with open(amendedFile, 'rb') as content_file:
content = content_file.read()
content = re.sub(b"(?<!\r)\n","", content)
with open(amendedFile,'wb') as f:
f.write(content)
print("Done")
为清晰起见,下面的python 2代码标识了我感兴趣的位置(我现在只是想自动删除它们)。即
\ r \ nText应该等于\ r \ nText
\ t \ nText应该等于\ tText
文字\ n文字应等于文字文字
import re
import sys
import time
with open('14-09 - Copy.txt', 'rb') as content_file:
content = content_file.read()
newLinePos = [m.start() for m in re.finditer('\n', content)]
for line in newLinePos:
if (content[line-1]) != '\r':
print (repr(content[line-20:line]))
一如既往的感谢!
答案 0 :(得分:1)
您可能希望使用([^\r])\n
作为样式,然后替换\1
来保留字符。
所以您的电话应该是
content = re.sub(b"([^\r])\n",r"\1", content)