-
逗號分隔值
鎖定
逗號分隔型取值格式(英文全稱為Comma Separated Values,簡稱CSV),是一種純文本格式,用來存儲數據。在CSV中,數據的字段由逗號分開,程序通過讀取文件重新創建正確的字段。
- 中文名
- 逗號分隔值
- 外文名
- Comma Separated Values
- 屬 性
- 文本格式
- 簡 稱
- CSV
逗號分隔值網絡程序
CSV文件是一個計算機數據文件用於執行審判和真正的組織工具,逗號分隔的清單。CSV文件以數字存儲的數據結構表的形式列出,相關的項(成員)組與其他項(成員)由逗號隔開。表格中的行與CSV文件的行對應。同行字段用逗號分隔。CSV文件常常被用於在兩個不同的計算機程序之間移動表格數據,例如關係數據庫程序和電子表格程序。
[1]
逗號分隔值技術背景
.csv 文件格式的使用可以追溯至早期的商用電腦,它被大範圍使用於電腦內部不同數據文字格式大小的轉化。基於此原由,csv文檔格式適用於任何電腦平台。
在不同的.csv導出導入工具中也允許用其他的符號作為分隔符。一些簡單的.csv轉換工具不允許字段數值中存在逗號或者其他特殊符號例如換行符。更多複雜的CSV轉換工具允許字段數值中包含有逗號或特殊符號。它們通常用雙引號括住有特殊符號的數值,內容中的雙引號符號可以用兩個雙引號來表示。也有一些CSV工具用轉義符號例如利用反斜扛對保留字符進行編碼。
在計算機科學方面,這種類型的格式是所謂的“平面文件”,因為只有一個表可以存儲在CSV文件。大多數系統都使用了一系列的表來存儲他們的信息,即必須“移”到一個單一的表,往往信息重複幾次行,創建一個文本文件。
逗號分隔值歷史背景
CSV是一項古老的技術,比個人電腦的出現還早至少10年。運行於OS/360環境下的IBM Fortran編譯器在1967就支持這種技術。相對於固定列寬數據格式,逗號分隔數據格式不僅在輸入到打孔卡時更加方便,而且在輸錯位置時也不容易產生錯誤結果。
逗號分隔的列表(CSL公司)是一種數據 格式稱為逗號分隔值(CSV)的最古老的天簡單的電腦。在個人電腦產業(當時更普遍稱為“家用電腦”),早期最常見的使用是由小企業創造的招標使用樣板 套印 ,通過郵寄名單。
一些早期的應用軟件,如文字處理機,讓流“可變數據”要合併兩個文件:一種形式的信,和CSL公司的名稱,地 址,數據和其他數據方面,仍然是,僅僅是因為工作需要人力輸入(建設清單)是很自然的和易於使用逗號分開劃 定。CSL公司/ CSVs也被用來交換台式電腦之間的數據不同的架構,並進行簡單的數據庫的用途。
逗號分隔值規範
逗號分隔列出日期之前,儘早從個人電腦,但被廣泛應用於最早前IBM個人電腦時代的個人電腦磁帶存儲備份和交換的信息的數據庫機器的兩種不同的架構。在這一天,負擔得起的硬盤驅動器不存在,和許多小型企業試圖實現 效益的計算使用軟盤的軟件。
CSV沒有通用標準規範。不同的程序間CSV的標準有差異很常見,這可能導致交互操作困難。互聯網通信的CSV文件,資料的IETF文件( 符合RFC 4180於2005年10月)介紹了格式的“text/csv格式”MIME類型登記的IANA負責。另一個相關的規格是由派出文字其中也包括CSV格式。
許多非正式文件的存在,説明CSV格式。如何:逗號分隔值(CSV)文件格式概述了CSV格式中使用最廣泛的應用和解釋它如何能最好地利用和支持。
逗號分隔值基本規則
CSV格式是分隔的數據格式,有字段/列分隔的逗號字符和記錄/行分隔換行符。字段包含特殊字符(逗號,換行符,或雙引號),必須以雙引號括住。行內包含一個項目是空字符串,可以以雙引號括住。字段的值包含雙引號時,要雙寫這個雙引號(就像把一個雙引號當做轉義符一樣)。CSV文件格式並不需要特定的字符編碼,字節順序,或行終止格式。
每個記錄是一個行終止了換行符(ASCII碼/低頻= 0×0A)或回車換行符和一雙(ASCII碼/ CRLF = 0×0D0×0A),然而,線路中斷可以嵌入。
字段用逗號分隔(雖然地點在逗號作為小數點,分號是用來代替作為定界符)
1997,Ford,E350
各領域內的嵌入式逗號必須存放在雙引號字符。
各領域內的嵌入式雙引號字符必須是封閉的雙引號字符,每一個嵌入式雙引號字符必須用一對雙引號字符。
各領域內的嵌入式換行符必須封閉在雙引號字符。
領域的前導或尾隨空格內必須封閉雙引號字符。 (見評論領導和尾隨空格以上。)
字段可能永遠是封閉的雙引號字符,是否有必要或沒有。
第一條記錄中的CSV文件中可能包含列名的每個領域。
逗號分隔值舉例説明
舉例説明
年 | 製造商 | 型號 | 説明 | 價值 |
1997 | Ford | E350 | ac, abs, moon | 3000.00 |
1999 | Chevy | Venture "Extended Edition" | 4900.00 | |
1999 | Chevy | Venture "Extended Edition, Very Large" | 5000.00 | |
1996 | Jeep | Grand Cherokee | MUST SELL! air, moon roof, loaded | 4799.00 |
上面表格內容若以CSV格式表示就會像下列:
年,製造商,型號,説明,價值
1997,Ford,E350,"ac, abs, moon",3000.00
1999,Chevy,"Venture ""Extended Edition""","",4900.00
1999,Chevy,"Venture ""Extended Edition, Very Large""","",5000.00
1996,Jeep,Grand Cherokee,"MUST SELL!
air, moon roof, loaded",4799.00
以上這個CSV的例子説明了:
包含逗號,雙引號,或是換行符的字段必須放在引號內。
字段內部的引號必須在其前面增加一個引號來實現文字引號的轉碼。
分隔符逗號前後的空格可能不會被修剪掉. 這是RFC 4180的要求。
元素中的換行符將被保留下來。
逗號分隔值應用支援
因為CSV文件格式非常簡單,幾乎所有的電子表格和數據庫管裏系統都有支援。許多編程語言也提供了函式庫支持 CSV 檔案的匯入或匯出。事實上,許多程式都允許 CSV 文件使用任何分隔符。
- 參考資料
-
- 1. 淺談Java讀取CSV實踐 .軟件測試網.2011-4-18[引用日期2017-04-04]