最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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的程序的評論 (共 條)

分享到微博請遵守國家法律
遂宁市| 达拉特旗| 威远县| 通许县| 攀枝花市| 郁南县| 梅州市| 简阳市| 拉孜县| 密云县| 曲麻莱县| 水城县| 应城市| 广德县| 平阳县| 偏关县| 精河县| 祁阳县| 奎屯市| 黑山县| 称多县| 临西县| 澄城县| 邻水| 铁力市| 温宿县| 西峡县| 临城县| 东宁县| 彭泽县| 阿克苏市| 达州市| 蒙自县| 普陀区| 红河县| 岐山县| 扎鲁特旗| 汕头市| 绥德县| 洞头县| 彰武县|