在 CSV(逗號分隔值)格式中,轉義的目的是處理包含特殊字符的資料,尤其是那些可能與分隔符號(例如逗號 ,)或換行符(例如 \n)產生衝突的情況。這樣做可以確保資料在 CSV 檔案中正確表示和解析。
CSV 轉義的基本規則:
逗號(,):如果資料中包含逗號,則需要使用引號將該欄位包住。這是因為 CSV 中逗號通常用來分隔不同的欄位。
例如:"John, Doe"。
雙引號("):如果資料中包含雙引號,則需要將該雙引號轉義,方法是將雙引號前面加上一個雙引號。
例如:"He said, ""Hello!"""。
換行符(\n 或 \r\n):如果資料中有換行符,則通常會將資料用引號包住,確保換行不會中斷 CSV 格式。
例如:"Hello\nWorld"。
轉義範例:
假設我們有以下資料:
姓名:John, Doe
地址:"123 "Main" St."
備註:說了 "Hello" 並離開。
這些資料中包含了逗號、引號,甚至換行符,我們需要將它們轉義,確保在 CSV 文件中正確表示。
原始資料:
arduino
John, Doe, "123 "Main" St.", He said "Hello" and left.
轉義後的資料:
python
"John, Doe","""123 ""Main"" St.""","He said ""Hello"" and left."
在這裡:
"John, Doe" 用引號包住,因為中間有逗號。
"""123 ""Main"" St.""",雙引號被轉義成了 ""。
"He said ""Hello"" and left.",雙引號被轉義成了 ""。
轉義規則總結:
如果欄位值中有逗號(,),需將整個欄位值用雙引號包住。
如果欄位值中有雙引號("),則需要將每個雙引號轉換為兩個雙引號("")。
如果欄位值中有換行符(\n 或 \r\n),也需將該欄位用雙引號包住。