
VB.NET を知って今日で30日目という初学者です。
付属一覧.csv
品番001, 品番001用付属1, 品番001用付属2, 品番001用付属3
品番002, 品番002用付属1, 品番002用付属2, 品番002用付属3
品番003, 品番003用付属1, 品番003用付属2, 品番003用付属3
品番004, 品番004用付属1, 品番004用付属2, 品番004用付属3
品番005, 品番005用付属1, 品番005用付属2, 品番005用付属3
今、上記のCVSファイル配列に読み込む方法を探っています。
Using MyReader As New TextFieldParser(aFile, Encoding.Default)
While Not MyReader.EndOfData
aLines.Add(MyReader.ReadLine())
End While
End Using
と、ここまでは何とか回答に助けられて到達。
aLines は List です。
しかし、これは一次元配列。
Dim aFields(,) As String
ReDim aFiles(N, M) As String
とやれば、行ではなくフィールドで読めば、二次元配列も可能とは思っています。
しかし、これは N を確定する手続きが必須。
そこで質問は、そうしない妙手に関してです。
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
あー、この間から質問の意図がよく分からなかったから回答してなかったけど,やっと分かった気がする。
Option Explicit On
Option Strict On
Option Compare Binary
Option Infer Off 'VB2008から
Class Program
Shared Sub Main()
Dim aLines As System.Collections.Generic.List(Of String())
aLines = New System.Collections.Generic.List(Of String())()
Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser("C:\hoge.csv", System.Text.Encoding.Default)
MyReader.SetDelimiters(",")
While Not MyReader.EndOfData
aLines.Add(MyReader.ReadFields())
End While
End Using
System.Console.WriteLine(aLines(0)(0))
System.Console.ReadKey(true)
End Sub
End Class
みたいなことがやりたいのかな?
#僕自身はList(Of String())ではなくList(Of List(Of String))を好むが
利点は特に無い。
完全に目的を達しました。
Sub Main()
Dim I As Integer
Dim J As Integer
Dim aDatas As List(Of String())
aDatas = New List(Of String())()
Dim N = CSVReadToArray("D:\Temp\付属一覧.csv", aDatas) - 1
For I = 0 To N
For J = 0 To 3
Debug.Print(aDatas(I)(J))
Next J
Next I
End Sub
[デバッグ ウインドウ]
品番001
品番001用付属1
品番001用付属2
品番001用付属3
品番002
品番002用付属1
品番002用付属2
品番002用付属3
品番003
品番003用付属1
品番003用付属2
品番003用付属3
品番004
品番004用付属1
品番004用付属2
品番004用付属3
品番005
品番005用付属1
品番005用付属2
品番005用付属3
今日で一ヶ月一日目という初学者。
正に、何がわかっていないのかがわかっていない状態です。
つたない質問へのバッチリの回答に心からお礼を申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列数式の解除
-
VBA 1次元配列を2次元に追加する
-
特定のセル範囲で4文字以上入力...
-
VBAで近似曲線の係数取得
-
VB6 配列を初期化したい
-
VBのFunctionで、配列を引数...
-
for each の現在の配列ポインタ...
-
FORTRANのCOMMON文
-
subの配列引数をoptionalで使う...
-
ListViewで、非表示列って作れ...
-
2つ以上の変数を比較して最大数...
-
COBOL 2次元配列について
-
RPG E仕様書について
-
verilogで配列の任意の8bitを取...
-
fortranのwrite文について
-
C言語のプログラミングについて...
-
【MATLAB】配列内のある数値の...
-
配列の内容に重複をなくすには...
-
エクセルマクロで配列の値から...
-
ArrayListの初期値に二次元配列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列数式の解除
-
VBA 1次元配列を2次元に追加する
-
特定のセル範囲で4文字以上入力...
-
for each の現在の配列ポインタ...
-
2つ以上の変数を比較して最大数...
-
VB6 配列を初期化したい
-
ListViewで、非表示列って作れ...
-
配列変数の添字が範囲外ですと...
-
subの配列引数をoptionalで使う...
-
VBAで近似曲線の係数取得
-
VBのFunctionで、配列を引数...
-
COBOL 2次元配列について
-
VLOOKUP関数で、一番下...
-
エクセルで最小値から0を除く方法
-
2次元動的配列の第一引数のみを...
-
OutlookVBAでサブフォルダ一括作成
-
Dim は何の略ですか?
-
配列を任意の数値で埋める方法
-
linest関数に配列を渡す
-
ArrayListの初期値に二次元配列...
おすすめ情報