五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Winform 編寫一個讀取并解析csv的程序

2023-07-09 00:45 作者:钅離_LX  | 我要投稿

眾所周知,CSV是一種通用的、相對簡單的文件格式,被用戶、商業(yè)和科學(xué)廣泛應(yīng)用。

所以在制作游戲時,可能會用到CSV來記錄各個物品的數(shù)據(jù),就像這樣:

ID;Name;Description;ItemType

01;《無機化學(xué)》第四版;風(fēng)靡于各大高校的法器,可造成巨額化學(xué)傷害;Catalyst

02;菜刀;廚房里的常見廚具,但是用途特別多;Tool

03;理想電源;一個沒有內(nèi)阻的理想電源,雖然電壓只有1.5V,但是電流強勁!;Catalyst

04;等軸雙曲線;一個平平無奇的等軸雙曲線,卻可以用其開口困住敵人;Shield

我們要將這些數(shù)據(jù)解析成表格(DataTable),以便更好去呈現(xiàn)或者調(diào)用:

表格

想要解析CSV文件,就必須知道CSV的特征:

  1. 純文本,使用某個字符集,比如ASCII、Unicode、EBCDIC或GB2312;

  2. 由記錄組成(典型的是每行一條記錄);

  3. 每條記錄被分隔符分隔為字段(典型分隔符有逗號、分號或制表符;有時分隔符可以包括可選的空格);

  4. 每條記錄都有同樣的字段序列。

(其中第三點可以給我們解析CSV文件提供思路)

那么...不難思考出讀取并解析CSV的程序該怎么寫

  1. 將CSV讀取成字符串

  2. 利用換行符'\n'將讀取的字符串每一行分割

  3. 遍歷分割出的每一個字符串(源文件對應(yīng)每一行),再次利用分隔符進(jìn)行分割(分隔符一般有分號(';')、逗號(',') 、空格(' '),這次示例中使用的分隔符為分號

  4. 將分割出來的每一項字符串存入DataTable表格

然后只需將表格控件的DataSource設(shè)置為DataTable就可以啦


理論存在,實踐開始

首先拉個窗口,控件很簡單,只需加個DataGridView和Button即可

功能為點擊按鈕則解析對應(yīng)CSV并呈現(xiàn)在DataGridView上

然后再按鈕點擊事件中寫一個文件位置字符串(我的示例表格再桌面上)

接著獲取csv數(shù)據(jù)

然后我們寫一個加載CSV的方法供按鈕事件調(diào)用(寫在按鈕事件里面也可啦)

下面我們完善這個讀取方法

按照思路,先把每一行分離,并且創(chuàng)建一個文件頭

然后再加上對每一行解析的代碼

(這些看似有一大段,原理實際上非常好弄懂)

最后再按鈕方法中加上這一行,給表格數(shù)據(jù)源賦上讀取CSV方法得到的數(shù)據(jù)

大功告成!

運行看看...


效果非常好!CSV數(shù)據(jù)呈現(xiàn)在表格里啦!

最后附上全部代碼

(文件路徑可以修改的哦~)


(文章發(fā)布時作者還是高中生,自學(xué)編程,文章寫的爛請不要見怪doge)


Winform 編寫一個讀取并解析csv的程序的評論 (共 條)

分享到微博請遵守國家法律
若尔盖县| 庆云县| 万全县| 垫江县| 南靖县| 洱源县| 密山市| 宜良县| 湖州市| 宝兴县| 武安市| 交口县| 东至县| 专栏| 台北市| 绥化市| 兴国县| 娄底市| 定日县| 靖远县| 天祝| 城市| 米泉市| 瑞丽市| 建水县| 景泰县| 娄烦县| 通渭县| 措美县| 南江县| 巫山县| 永州市| 永城市| 金山区| 松阳县| 隆安县| 阳东县| 鄂托克旗| 宽城| 灌阳县| 乌拉特中旗|