C 自定義標準 讀寫CSV檔案

2021-09-05 01:20:23 字數 2081 閱讀 1568

csv檔案格式標準:

編碼方式:utf-8

行分割符為換行符(\r\n); 列分割符為英文逗號(,);

內容行 第一行為標題行(即列名);

約定特殊字元處理標準:

資料來源文字

目標文字

英文逗號(,)

英文逗號(,)

出現左側一種或多中情況時,在文字兩側加上英文冒號(「 )

英文冒號(「 )

替換成兩個英文冒號(「」)

換行符(\n)

換行符(\n)

回車符(\r)

回車符(\r)

回車換行符(\r\n)

替換成(\r/\n)

操作示例:

private datatable getdata()

private void wcsv_loaded(object sender, routedeventargs e)

自定義類:

using system;

using system.collections.generic;

using system.data;

using system.io;

using system.linq;

using system.text;

namespace wpfjsj

}foreach (datarow row in dt.rows)

}streamwriter sw = new streamwriter(path, false, en ?? encoding.utf8);

sw.write(sb);

sw.flush();

sw.close();

return true;

}catch (exception ex)}}

private static readonly object obj1 = new object();

/// /// 讀取csv檔案內容到資料集

///

/// 檔案路徑

/// 異常資訊

/// 編碼方式 預設為空(uft-8)

/// 檔案內容是否包含標題行(列名),預設包含

/// 返回的資料集

public static datatable csvread(string path, out string errinfo, encoding en = null, bool isconheader = true)

, stringsplitoptions.none))

//自定義標題

for (int m = 1; m <= strcols.length; m++)

dt.columns.add($"col");

index = 1;

}dt.rows.add(strcols);}}

catch (exception ex)

return dt;}}

private static string strtostrarray(string strline)

//字串末尾 冒號連續出現的次數為奇數 則字串結束

int count = 0;

for (int n = str.length - 1; n >= 0; n--)

//源字串帶冒號 不帶逗號

if (sbcombie.length == 0 && indexonefirst == 0 && count % 2 == 1)

if (count % 2 == 0)

else

}return list.toarray();

}private static string convstr_csvread(string str)

return str;

}private static string convstr_csvwrite(string str)

\"";

return str;}}

}

C 讀寫CSV檔案

前兩天看了 reading and writing csv files in mfc 發現它只針對檔案中的一行讀寫,而且只能作為乙個區域性變數使用,或者讀,或者寫,不能同時兼用,更不能作為類的變數,更別說擴充套件了。而且,它只支援在mfc條件下實現,如果我們需要在乙個模組當中呢?在乙個庫中呢?在非m...

C 讀寫CSV檔案

csv是一種通用的 相對簡單的檔案格式,最廣泛的應用是在程式之間轉移 資料,而這些程式本身是在不相容的格式上進行操作的。那麼,c 如何讀取和寫入csv格式檔案呢?csv資料格式並沒有非常統一的標準 但是為了避免出錯 我們在開發的時候統一格式是這樣的 csv檔案預設以英文逗號做為列分隔符,換行符作為行...

C 讀寫csv檔案

資料庫表資料 本地csv檔案 資料庫表資料,需要對csv檔案進行讀寫操作,支援中文路徑 include include csvfile.h using namespace std intmain std string strline datafile.makeline veccells,strlin...