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

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

分享到微博請遵守國家法律
永和县| 赣榆县| 商南县| 鄯善县| 福泉市| 无为县| 敦化市| 田林县| 留坝县| 家居| 隆回县| 鲁甸县| 外汇| 潼关县| 昔阳县| 双桥区| 托克托县| 平远县| 五华县| 萍乡市| 茶陵县| 南丹县| 清苑县| 安国市| 兴国县| 从江县| 新龙县| 全南县| 唐海县| 长海县| 珲春市| 汉阴县| 东阿县| 澄迈县| 如皋市| 潼南县| 新疆| 星子县| 资阳市| 股票| 马边|