iT邦幫忙

8

C#小程式 #1 : 文字資料轉CSV

c#
  • 分享至 

  • xImage
  •  

在論壇常看到發問者貼數據結構是純文字
舉例:
論壇某個問題sql - From date dimension table to hierarchy - Stack Overflow

想要建立測試DLL的時候
數據小的時候還好,數據一大就麻煩

這時候可以想說把資料從文字轉成csv結構
之後做測試資料就方便多了(例如SQL Fiddle幫你把csv轉ddl)

寫了小script幫忙轉換

C# Code:

void Main()
{
	/* 
	邏輯:
		1.先把空白格以,號取代
		2.以回車鍵切割列的集合
		3.以,切割欄的集合
		4.組合成csv字串
	*/
	var text = @"
轉換文字  
".Replace(",","").Replace(" ", ",").Trim();
	var rows = Regex.Split(text, @"(?:\r\n|\r|\n)") //以回車符號方式切割
		.Where(w => w != "") //篩選空白
		;
	var rowsAndCols = rows.Select(s=>
			Regex.Split(s, @",") //以,符號方式切割
			.Where(w => w != "") //篩選空白
		);
	var context = string.Join("\r\n",rowsAndCols.Select(s=>string.Join(",",s)));
	Console.WriteLine(context);
}

// Define other methods and classes here

使用方式:

把文字放到text變數就可以

接著貼到sqlfiddle轉換成SQL DDL就可以


主要提供熱心回答的邦友
在回答SQL問題時可以快速建立測試DDL
目前只是粗糙版,有特殊格式或是改進方式可以留言!

PS.
SQL發問的邦友也可以建立提供測試DDL
這樣可以增加回答問題的幫友解決速度跟意願


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

1
神Q超人
iT邦研究生 5 級 ‧ 2018-05-26 16:55:13

這樣在做測試資料的時候真的方便很多/images/emoticon/emoticon12.gif

暐翰 iT邦大師 1 級 ‧ 2018-05-26 17:28:47 檢舉

寫這個原因真是手動建立dll很不方便 /images/emoticon/emoticon06.gif

0
小魚
iT邦大師 1 級 ‧ 2018-05-27 00:27:23

不過我倒是沒用過 SQL DLL,
那是怎麼用的?

暐翰 iT邦大師 1 級 ‧ 2018-05-27 15:05:19 檢舉

我發現我犯了一個錯誤 我把DDL打成DLL /images/emoticon/emoticon06.gif
DDL就是對資料庫的CRUD
CSV結構來生成create,insert語法非常的方便

我要留言

立即登入留言