|
分類:[VB.NET/VB2005 以降]
よろしくお願い致します。
.net VB 2010を使用しています。
CSVファイルを下記で、読み込んでいます。 strArray に、1行目であれば次のようにデータも入ってきます。
strArray(0)="A1" strArray(1)="A2" strArray(2)="A3"
strArrayには、その行のデータしか入ってきませんが、CSVファイル全体をAllBufに2次元配列で取り込みたいのです。
AllBuf(0)=strArray(あくまでもイメージ)で、1行分のデータstrArrayを AllBuf(n)に渡すようなことをしたいのですが それは、どのように実現可能でしょうか?また、できるのでしょうか?
行は可変なので決め打ちができない。また、配列の1次元目は可変にすることができず、悩んでいます。 現在、AllBuf(行,列)を考えていますが、最悪はAllBuf(列,行)にしようかとも思っています。
例にあげたCSVファイルは3列ですが、5列や6列のCSVファイルもあり、1行目をSplitした時に列数は決定します。 同一のCSVファイルであれば、ある行は3列、ある行は5列などはありません。全ての行が同じ列数です。
お知恵拝借、よろしくお願い致します。
Sub Main() Dim strBuffer As String = "" Dim nFile As Integer = 0 Dim strArray() As String = Nothing
nFile = FreeFile()
FileOpen(nFile, "C:\temp\Test.csv", OpenMode.Input)
While Not (EOF(nFile)) strBuffer = LineInput(nFile)
strArray = Split(strBuffer, ",")
End While FileClose()
End Sub
<CSVファイルの内容>
A1,A2,A3 B1,B2,B3 ・ ・ ・ Z1,Z2,Z3
|