我提取了一封電子郵件,并將其保存到一個文本檔案中,該檔案的格式不正確。如何洗掉不需要的行距和段距?
該檔案看起來像這樣:
Hi Kim,
希望你一切順利。
你的代碼是。
42483423
謝謝和問候。
Bolt
我想打開并編輯這個檔案,并以適當的格式排列,洗掉文本前的所有空格,并以適當的格式排列文本下面的空格,如:
Hi Kim。
希望你一切順利。
你的代碼是。
42483423
謝謝和問候。
Bolt
我的啟動程式,
file = open('email.txt'/span>,'rw')
uj5u.com熱心網友回復:
你可以使用re.sub:
import re
re.sub('ss '/span>, '
', s)
uj5u.com熱心網友回復:
我們可以逐行讀取輸入檔案,并忽略那些除了空格和換行之外沒有任何內容的行。最后,我們輸出經過過濾的行,并在最后加上一個新行。
with open("output_file.txt"/span>, "w"/span>) as fw:
with open("email.txt") as fr:
for row in fr:
r_s = row.strip()
if len(r_s)。
fw.write(r_s "
")
output_file.txt的內容如下:
Hi Kim。
希望你一切順利。
你的代碼是。
42483423
謝謝和問候。
Bolt
如果我們必須保留同一個檔案,我們可以用os.rename重命名output_file.txt
import os
os.rename('output_file.txt','email.txt')
編輯:if len(r_s)與用戶指出的if len(r_s) > 0相比,是一個更保守的方法。buran在評論中指出。
uj5u.com熱心網友回復:
如果你把整個文本放在一個字串中(s),你可以做這樣的事情:
formatted = "
".join(filter(None, (x.strip() forx in s.split("
"))))
那就是:
- 將字串分割成獨立的行 洗掉任何前導和尾部的空白過濾掉空字串。
- 重新連接成一個多行字串 。
結果:
Hi Kim,
希望你一切順利。
你的代碼是。
42483423
謝謝和問候。
Bolt
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/323156.html
標籤:
