龙空技术网

VBA中利用Input #语句,对CSV文件进行读取的灵活处理方法

VBA语言専攻 918

前言:

此刻咱们对“js 读取csv文件”大致比较重视,姐妹们都想要知道一些“js 读取csv文件”的相关内容。那么小编在网络上搜集了一些关于“js 读取csv文件””的相关知识,希望姐妹们能喜欢,朋友们快快来了解一下吧!

大家好,我们今日继续讲解VBA代码解决方案的第130讲内容:对于有序的顺序文件CSV类的读取处理方法。在第129讲中,我深入的讲解了几种文件的分类及其区别。当然,对于我的讲解许多朋友会提出异议,这个没关系,很多问题可以争鸣,我讲的是我对这些知识的理解,还有就是很多朋友总是急于和我探讨为什么自己的程序运行不下去,其实,很多问题都是基于自己对知识点的理解,要深入的理解我讲过的每一讲内容,不要期望我把所有的问题都能列举到,只要你掌握了基本的内容可以能运用自如。我的《VBA代码解决方案》一书一共会出三册,会覆盖到VBA的大部分知识点。

好了,言归正传。某些文件通常保存为CSV,TXT或PRN格式,输入的每行数据由逗号,Tab或者空格分隔。这种类型的文件用Input # 语句可以比前面介绍的Line Input #语句读取更快些。Input # 语句允许你从一个打开的文件中读取数据到几个变量中。下面我以CSV文件为例讲解一下这类文件利用Input #的读取过程。大家是否还记得我在之前的文章中讲过的顺序文件的整行读取呢?整行的读取用的是Line Input #语句,而我们今天用的是Input #语句。

该函数如下所示: Input #filenumber, variablelist

参数:

① Filenumber是用Open语句打开文件时的同一个号码

② variablelist是一个以逗号分开的变量清单,用来储存读取的的数据。(注1)

下面的截图例子是一个用逗号分隔数据的顺序文件:

对于CSV文件,其实它的结构是这样的:

型号,分类,数量

A123,优,12

A124,良,15

A125,优,18

A126,优,21

要读取该格式的文本的话,你可以直接明确给出每组数据的变量:型号,分类,数量

。我们看下面的代码:

Sub mynzCSV()

Dim name As String, class As String, num As Integer

Open "E:\nz\work\文章\举例CSV.CSV" For Input As #1

Do While Not EOF(1)

Input #1, name, class, num

MsgBox name & ", " & class & ", " & num

Loop

Close #1

End Sub

看看代码截图:

程序执行过程:上面的程序首先打开文件"E:\nz\work\文章\举例CSV.CSV"读取数据;并且建立一个Do…While循环,在整个文件里循环运行,直到文件的结尾;Input #1语句用来将每行的内容读取到三个变量:name, class, num,也就是说有针对性的每次读取三个值;然后,用信息框将这三个变量的内容分组显示出来;程序最后关闭文件E:\nz\work\文章\举例CSV.CSV 。

下面看程序的运行:

1 :第一组数据:

第二组数据:

好了就举出这两组数据了。

今日内容分回向:

1 什么是CSV文件?

2 如何读取CSC文件更加方便呢?

3 上述的程序运行截图中为什么"数量"没有显示出来呢(红色箭头处)?

注1:关于此变量在《VBA代码解决方案》中还会有进一步的代码实测内容。

标签: #js 读取csv文件