Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4832 / 13644 ツリー ←次へ | 前へ→

【54165】csvよりtxtで読み込むほうが速い理由 hiro 08/2/27(水) 11:56 質問[未読]
【54167】Re:csvよりtxtで読み込むほうが速い理由 VBWASURETA 08/2/27(水) 12:41 発言[未読]
【54168】Re:csvよりtxtで読み込むほうが速い理由 VBWASURETA 08/2/27(水) 13:03 発言[未読]
【54170】Re:csvよりtxtで読み込むほうが速い理由 Jaka 08/2/27(水) 13:35 発言[未読]
【54171】Re:csvよりtxtで読み込むほうが速い理由 VBWASURETA 08/2/27(水) 13:54 発言[未読]
【54172】Re:csvよりtxtで読み込むほうが速い理由 hiro 08/2/27(水) 14:19 お礼[未読]
【54173】Re:csvよりtxtで読み込むほうが速い理由 VBWASURETA 08/2/27(水) 14:32 発言[未読]
【54174】Re:csvよりtxtで読み込むほうが速い理由 Jaka 08/2/27(水) 15:49 発言[未読]

【54165】csvよりtxtで読み込むほうが速い理由
質問  hiro  - 08/2/27(水) 11:56 -

引用なし
パスワード
   前の質問が解決して間もないですが、新たに疑問点が出てきたので
投稿させていただきます。

CSVファイルを読み込む際、拡張子を.txtに変更してOpenTextで読むと早い
という記述をどこかで見かけました。
実際にその通りにコーディングしてみた結果、.csvファイルをOpenで読むより
早くなったように感じます。

この理由として挙げられるのは何なんでしょうか。

理由も分からず、ただ早いというだけで関数を使うのも気持ち悪いので、
ご教授くだされば幸いです。

【54167】Re:csvよりtxtで読み込むほうが速い理由
発言  VBWASURETA  - 08/2/27(水) 12:41 -

引用なし
パスワード
   ▼hiro さん:

こんにちは。

ちょっと調べたわけではないので、正しいかわかりませんが、
区切り読みとそのまま読み込む速さでは?

CSVは区切り毎に読む必要がありますが、
テキストはそのまま読むだけなので
早いというような気がします。

【54168】Re:csvよりtxtで読み込むほうが速い理由
発言  VBWASURETA  - 08/2/27(水) 13:03 -

引用なし
パスワード
   ちょっと検証してみました。


検証方法:以下のデータをExcelでcsv、txtで開く。

a,b,c,d,e,f,g
a,b,c,d,e,f,g
a,b,c,d,e,f,g
a,b,c,d,e,f,g
a,b,c,d,e,f,g
a,b,c,d,e,f,g
a,b,c,d,e,f,g

結果:

txtファイルはA列のセルに全て入ったデータ。
csvファイルは区切り毎にセルの列が別れたデータ。


よって区切りの速さとが正解に近いと思われます。

【54170】Re:csvよりtxtで読み込むほうが速い理由
発言  Jaka  - 08/2/27(水) 13:35 -

引用なし
パスワード
   ▼hiro さん:
>この理由として挙げられるのは何なんでしょうか。
みなさんバグとしか思えないと思っているようです。

【54171】Re:csvよりtxtで読み込むほうが速い理由
発言  VBWASURETA  - 08/2/27(水) 13:54 -

引用なし
パスワード
   ▼hiro さん、jaka さん:
こんにちは。

下手な説明で、すみません。

ExcelがCSVか、テキストかを判断して、区切りかそのままの値かの
開き方を変えていると書いた方がわかり易いでしょうか。

簡単に書くとExcelの仕様です。

【54172】Re:csvよりtxtで読み込むほうが速い理由
お礼  hiro  - 08/2/27(水) 14:19 -

引用なし
パスワード
   ▼VBWASURETA さん、jaka さん:

バグ、もしくはExcelの仕様ですか。
そういうものだと思うしかなさそうですね;;

検証までしてくださり、ありがとうございました。

【54173】Re:csvよりtxtで読み込むほうが速い理由
発言  VBWASURETA  - 08/2/27(水) 14:32 -

引用なし
パスワード
   ▼hiro さん:

jakaさんのバグというのはhiroさんの質問がバグのように
書かれているということではないでしょうか?

間違いなくExcelの仕様ですよ。
CSV形式で開く時は区切り表示する処理(EXCELアプリ)が
開くまでにしているので処理としては重いのでしょうね。

その分、テキストはその区切り処理(EXCELアプリ)がないので、
処理としては軽いということなのでしょうね。

【54174】Re:csvよりtxtで読み込むほうが速い理由
発言  Jaka  - 08/2/27(水) 15:49 -

引用なし
パスワード
   ▼hiro さん:
>CSVファイルを読み込む際、拡張子を.txtに変更してOpenTextで読むと早い
>という記述をどこかで見かけました。
>実際にその通りにコーディングしてみた結果、.csvファイルをOpenで読むより
>早くなったように感じます。
先ほどは、細かく読んでなかったので簡単な言葉でしか書きませんでしたが、
どんなコードを書いたのでしょうか?
感じでなく、明らかに速度が違います。
MSとくいの仕様でなく、ほとんどの人がバグと認識してます。
どんなコードを書いたのか解りませんが、1列でしか読み込めないような書き方なのでしょうか?
これってただのマクロ記録でも、そうにはならないと思いますけど。
因みに文字列として読み込んだ方が速いです。
さらに日本語が混ざってない方が速いです。

4832 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free