在ExcelReport支援csv的開發過程中,需要一個NETStandard的csv解析器。在nuget上找了幾個試用,但都不太適合。
於是,便有了:AxinLib.IO.CSV。
先看看怎麼用:
讀出的資料:
回到開始:
步驟一、瞭解CSV格式規範
參考文章:理解CSV格式規範(解析CSV必備)
總結:
1)欄位分隔符:
1
|
, |
2)行結束符:
1
|
\r\n |
3)轉義符:
1
|
" |
4)出現以上字元的欄位需要用轉義符前後括起來
5)轉義符的原義需要兩個轉義符標識
6)檔案中的最後一行記錄可以有結尾回車換行符,也可以沒有。
步驟二、定義狀態
透過主流程識別狀態:
1)新欄位開始
2)非轉義狀態
3)轉義狀態
4)轉義符原義判定狀態
5)欄位結束
6)行結束
7)檔案結束
8)解析失敗
步驟三:透過狀態遷移圖查缺補漏
步驟四:根據狀態遷移圖實現程式碼
詳參見:
AxinLib.IO.CSV 原始碼:https://github.com/hanzhaoxin/AxinLib/tree/master/src/AxinLib.IO.CSV
原文地址:https://www.cnblogs.com/hanzhaoxin/p/10508393.html