CSV探秘(一) CSV的基本規則

2021-06-28 01:55:42 字數 1222 閱讀 3699

excel 檔案好用, 但是體積龐大, 用程式匯入匯出時占用記憶體驚人(npoi, clo***ml等都乙個德性), 一百萬條的記錄把記憶體佔完沒商量!

而且 excel 還有乙個弱點:行數有限制。

excel 07-2003乙個工作表最多可有65536行,行用數字1—65536表示;最多可有256列,列用英文本母a—z,aa—az,ba—bz,……,ia—iv表示;乙個工作簿中最多含有255個工作表,預設情況下是三個工作表;

excel 2007及以後版本,乙個工作表最多可有1048576行,16384列;

csv是一種簡單的資料檔案交換方式,體積小、操作占用記憶體小、 生成速度快、行數無限制

(但超過excel最大行時,excel也無法正常開啟,只能用程式或者手工操作 )

在一般情況下比excel 更為簡單方便, 匯出檔案是首選。

但你是否就對它瞭如指掌?

它有哪些特性?有哪些需要注意的地方?

如何用 c# 或其它語言將資料庫中的表(或datatable)轉成 .csv 檔案?

如何用 c# 將 .csv 檔案匯入到資料庫的表(或datatable)?

作為乙個程式設計師, 了解上面的 3 點, 基本上也就夠用了……

開頭是不留空,以行為單位。

可含或不含列名,含列名則居檔案第一行。

一行資料不跨行,無空行。

以半形逗號(即,)作分隔符,列為空也要表達其存在。

列內容如存在半形逗號(即,)則用半形雙引號(即"")將該字段值包含起來。

列內容如存在半形引號(即")則應替換成半形雙引號("")轉義,並用半形引號(即"")將該字段值包含起來。

檔案讀寫時引號,逗號操作規則互逆。

內碼格式不限,可為 ascii、unicode 或者其他。

不支援特殊字元

由於規則主要用的符號是半形逗號和半形雙引號,僅這兩種符號會需要特殊處理, 所以下面的例子中只用到這兩種符號。

左右對比一下, 生成的規則也就比較清楚了——

如果單元格中有半形逗號或者雙引號, 必須在前後加上半形雙引號

如果單元格中有半形雙引號, 必須將半形雙引號轉義為兩個半形雙引號

先講到這裡吧, 下一講將講述如何用 c# 匯出csv.

CSV檔案的基本操作

hanbb come on import csv 檔案的整體讀取 examplefile open e download es.txt 開啟檔案 examplereader csv.reader examplefile 讀取檔案 注意不能直接訪問檔案名字,必須先開啟 examplerdata lis...

讀取csv並匯出新的csv

用 editplus 開啟 csv 格式的檔案,會發現編碼為 ansi。在 ansi 裡,gbk 是專門來解決中文編碼的,是雙位元組的,不論中英文都是雙位元組。通常程式儲存檔案的編碼常為 utf 8,因此讀取 csv 檔案時,需要進行編碼轉換,把 gbk 的轉為 utf 8,匯出的時候再把 utf ...

python之模組csv之CSV檔案一次寫入多行

coding utf 8 python 27 xiaodeng csv檔案一次寫入多行 import csv csv檔案,是一種常用的文字格式,用以儲存 資料,很多程式在處理資料時會遇到csv格式檔案 files open test.csv wb writer csv.writer files wr...