人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Vb.Netを利用して 可変長(String,Int,Longの混合)のcsvファイルを読み込む事は可能でしょうか.


dim buf(10000) as variant
dim bufs as string


INPUT #1,buf(1),buf(2),?,buf(10000) のような非現実的な方法でなく

Line input #1,bufs のように場当たり的な方法でないなにか良い手はないでしょうか??


●質問者: jyarisan
●カテゴリ:コンピュータ
✍キーワード:as String ファイル 現実
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● pahoo
●34ポイント

「可変長のCSVファイル」という意味がよく分からないのですが、カンマで区切られた要素の数が不定ということでしょうか?


であれば、"Line input #1,bufs" で bufs に1行を読み込んだ後、split関数で要素に分割してはどうでしょうか。


参考サイト

◎質問者からの返答

要素の数は、不定です。

やはり、一度STRINGに読み込みしかないのでしょうか..


2 ● ken33jp
●9ポイント

>やはり、一度STRINGに読み込みしかないのでしょうか

YES

そのほうが早いと思いますよ

1行ずつ読み込んで、splitで分割

http://q.hatena.ne.jp/answer


3 ● mintan
●26ポイント

CSV解析に特殊な条件がいる等でなく、.NetFramework2.0以上を利用されているなら

TextFieldParserクラスを利用するのが便利です。

各種エンコード(日本語)対応。

データ中のダブルクォート、カンマ、空白の処理方法もオプションで指定できます。

結果はString配列で返ってきますので、値やインデックスを見て各データ型へ変換処理するとよいと思います。

使用サンプル


4 ● todo36
●25ポイント

文字列がダブルクオーテーションで囲まれていたりするのであれば、

TextFieldParserを使うのが吉(ただしVB2005以上)

http://www.atmarkit.co.jp/fdotnet/dotnettips/487csvparser/csvpar...

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ