我正在寻找这种情况的解决方案,这是一个文件清理。 我有一个文件“* .csv”,其中包含几行,所有行都在末尾“\ CR \ LF”,有时该文件带有虚线,所以最后只有“\ LF”,缺少“\” CR”。我需要将所有那些只有“\ LF”的行放在一行中,没有任何空格,最后也有“\ CR \ LF”。
例如,
这是文件内容的Python表示:
file_content = '''\
"A",B,"C","D"\r\n\
"E",F,"G","H"\r\n\
"I",J\n\
\n\
,"K", \n\
\n\
"L"\r\n\
"O",P,"Q","R"\r\n\
"S",T,"U","V"\r\n\
'''
答案 0 :(得分:0)
两种可能的解决方案是:
import re
file_content = '''\
"A",B,"C","D"\r\n\
"E",F,"G","H"\r\n\
"I",J\n\
\n\
,"K", \n\
\n\
"L"\r\n\
"O",P,"Q","R"\r\n\
"S",T,"U","V"\r\n\
'''
print "Original:\n", file_content
replace1 = re.sub("(?<!\r) *\n *", '', file_content)
print "Replace1:\n", replace1
replace2 = re.sub("([^\r])( *\n *)+", '\\1', file_content)
print "Replace2:\n", replace2
Python 2脚本的输出是:
Original:
"A",B,"C","D"
"E",F,"G","H"
"I",J
,"K",
"L"
"O",P,"Q","R"
"S",T,"U","V"
Replace1:
"A",B,"C","D"
"E",F,"G","H"
"I",J,"K","L"
"O",P,"Q","R"
"S",T,"U","V"
Replace2:
"A",B,"C","D"
"E",F,"G","H"
"I",J,"K","L"
"O",P,"Q","R"
"S",T,"U","V"