前提・実現したいこと
初めて質問させていただきます。
VB.netにてCSVファイルの特定箇所だけ抜いて保存したい場合はどのようにすれば良いでしょうか?
例えば”abc.csv”というファイルがあったとして、
その中身が
1: 458, 982, 568
2: 000, 000, 000
3: 458, 101, 259
4: 569, 000, 168
5: 000, 000, 000
6: 525, 458, 585
となっているとします。
このとき、1列目~3列目まで値が全て0である2行目と5行目を抜いて
1: 458, 982, 568
2: 458, 101, 259
3: 569, 000, 168
4: 525, 458, 585
のようにcsvファイルを保存したいです。
現在は、"SaveFileDialog"で保存を行っています。
恐れ入りますが、ご教示いただければ幸いです。
発生している問題・エラーメッセージ
csvファイルの特定箇所を抜いて保存したいが、どうすれば良いのか分からない。
該当のソースコード
vb.net
1 'ファイルの保存 2 Private Sub SaveButton_Click(sender As Object, e As EventArgs) Handles SaveButton.Click 3 With SaveFileDialog1 4 '選択ダイアログを開く 5 .Title = "点群ファイルの書き込み" 6 .Filter = "点群ファイル(*.csv)|*.csv|すべてのファイル(*.*)|*.*" 7 .DefaultExt = ".csv" 8 9 Dim selectButton As DialogResult 10 Dim filename As String 11 12 'データの個数が0のときは何もしない 13 If DataCount = 0 Then 14 MessageBox.Show("データが登録されていないので保存できません。") 15 Exit Sub 16 End If 17 18 '名前をつけて保存 19 selectButton = SaveFileDialog1.ShowDialog() 20 filename = SaveFileDialog1.FileName 21 22 If selectButton = DialogResult.OK Then 23 Dim sw As IO.StreamWriter = Nothing 24 25 Try 26 'グリッドデータの保存 27 SaveFileText.Text = .FileName 28 sw = New IO.StreamWriter(filename, False, System.Text.Encoding.GetEncoding("Shift-JIS")) 29 30 For i As Integer = 0 To DataCount - 1 31 If 0 < DataA(i).A And 0 < DataB(i).B And 0 < DataC(i).C Then 32 sw.WriteLine(DataA(i).A & "," & DataB(i).B & "," & DataC(i).C) 33 End If 34 Next 35 36 Catch ex As Exception 37 MessageBox.Show(ex.Message) 38 Finally 39 'ファイルを閉じる 40 If sw IsNot Nothing Then 41 sw.Close() 42 sw.Dispose() 43 End If 44 End Try 45 End If 46 End With 47 End Sub
試したこと
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

回答2件
あなたの回答
tips
プレビュー