情境:
因原自網頁來源資料,內含NBSP不換行空格(即 ) ,故藉由 PYTHON程式去除 空白特殊字元,
才不會看起來一樣,但對電腦(如:EXCEL之vlookup比對函數)來說,後面多個空白字元,就是2個不同的字串值。
import os
import sys
def replace_string_in_file(file_path):
# 讀取欲去處理之原始檔案內容
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
# 替換NBSP特殊字元
replaced_content = content.replace(' ', '')
# 取得原檔案的檔名和副檔名
file_name, file_extension = os.path.splitext(file_path)
# 產生新檔案名稱( 原檔名_1 )
new_file_name = file_name + '_1' + file_extension
# 寫入去除空白字元後的內容,到新檔案
with open(new_file_name, 'w', encoding='utf-8') as new_file:
new_file.write(replaced_content)
print(f"已完成去除空白字元,並產製新檔:{new_file_name}")
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Usage: python RemoveNSPF.py <Original_file_path>")
sys.exit(1)
nspf_file_path = sys.argv[1]
replace_string_in_file(nspf_file_path)
相關查詢:
No-Break Space 不換行空格 ChrW(160)
如何檢視空白CRLF換行等特殊字元神器? 可透過Notepad++文字編輯器,查看 檢視(V) | 特殊字元 | 顯示所有字元
空白字元導致vlookup查詢函數失敗,因此需將NBSP特殊字元予以去除