-PR-
締切済み

CSVファイルをExcelで読み込むと

  • 暇なときにでも
  • 質問No.6234
  • 閲覧数279
  • ありがとう数9
  • 気になる数0
  • 回答数6
  • コメント数0

お礼率 66% (4/6)

CSVファイル中の項目 "01-03"などが、Excelでは
勝手に 1月3日などに変換されてしまいます。

もちろん、拡張子を.txtに書き換えて、毎回フィールドを
文字列属性にして読み込んでやればいいのでしょうが、
なにぶん量が多いので、毎回毎回こんな操作をするのは
めんどくさいのです。

CSVファイルのままで、項目を勝手に変換させないで読み込む方法はありませんか??
通報する
  • 回答数6
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全6件)

  • 回答No.2
レベル13

ベストアンサー率 33% (427/1283)

 余り賢い方法ではないのですが、 01-03の様なデータを、" 01-03"の様に ダブルコーテーションでくくって、文字列の最初か 最後にスペースを入れれば、Excel君は、文字列だと把握 してくれます。 ...続きを読む
 余り賢い方法ではないのですが、
01-03の様なデータを、" 01-03"の様に
ダブルコーテーションでくくって、文字列の最初か
最後にスペースを入れれば、Excel君は、文字列だと把握
してくれます。
お礼コメント
nonoz

お礼率 66% (4/6)

おぉ!スペースを入れるとは!!
思いつきませんでした。それは。

でも、そうすると、今度はいろいろなところで、
空白を削除する処理をせねばならなくなる...
まぁ、人間は思いっきり楽になりますね。
一度プログラム(スクリプトとか含む)組んでしまえば。

次善の策として考慮させてもらいます。
ありがとうございました。
投稿日時 - 0000-00-00 00:00:00
関連するQ&A


  • 回答No.1
レベル13

ベストアンサー率 26% (511/1924)

CSVファイルのうちにそのフィールドを " " で囲むという手があります。ま、あまり現実的じゃないですけど。 CSVファイルを開くときどのように開いていますか?先にExcelを起動したあとにファイルメニューの開くから開くとウィザードが起動するんですが、拡張子CSVがExcelに関連付けされていると勝手に開いちゃいますので、拡張子をTXTなどに変えてから開いてみてください。 ...続きを読む
CSVファイルのうちにそのフィールドを " " で囲むという手があります。ま、あまり現実的じゃないですけど。

CSVファイルを開くときどのように開いていますか?先にExcelを起動したあとにファイルメニューの開くから開くとウィザードが起動するんですが、拡張子CSVがExcelに関連付けされていると勝手に開いちゃいますので、拡張子をTXTなどに変えてから開いてみてください。

ウィザードでは列ごとにデータの内容を指定できますので、日付っぽいデータなんだけど全然別ってことなら文字列として読み込ませればそのままのデータが保存されます。
お礼コメント
nonoz

お礼率 66% (4/6)

回答ありがとうございます。

しかし、私が聞きたかったのは、ファイル名を「xxxx.txt」に書き換えて、ウィザードで文字列属性に指定して、、、、というやり方がめんどくさいので、なんとかなりませんでしょうか???という趣旨なのです。「なんとか手抜きができるようになりませんか?」という都合のいい質問なのです。

ちなみに、Excel97では、フィールドを ""で囲んでやっても、"03-05"は、「3月5日」に変換されてしまいます。
どこかで、「""で囲むと、文字列として読み込む」という設定ができるのでしょうか???

すみません、基本的に Windowsを含むマイクロソフト製品には、ど素人です。
投稿日時 - 0000-00-00 00:00:00
  • 回答No.3
レベル13

ベストアンサー率 26% (511/1924)

失礼しました、質問をしっかり把握してなかったです。 でも、テキストエディタ等で目的の位置を探して何らかの処理をするほうが面倒な気がするんですが・・・ あとは更に面倒でしょうけど、VBAを使って直接フィルを読みこむような仕組みを作るとか。 ...続きを読む
失礼しました、質問をしっかり把握してなかったです。

でも、テキストエディタ等で目的の位置を探して何らかの処理をするほうが面倒な気がするんですが・・・

あとは更に面倒でしょうけど、VBAを使って直接フィルを読みこむような仕組みを作るとか。
お礼コメント
nonoz

お礼率 66% (4/6)

いやいや、私にとっては、Excelを使うよりも、
perlでスクリプトを書くほうが遙かに楽ですから。

でも作業者向けに Excelにしないといけないって
場面もでてくるので、Excelで読み込みなのです。

VBAは書いたことないのですが、
(C++は好きだけど、BASIC系は嫌い)
それで読み込むような仕組みを作ることは
可能なのですか??

ならばそっちのほうがいいです。
嫌いだなんて言っている場合ではないです。
ナミダをのんでVBAに取り組みますわ。
投稿日時 - 0000-00-00 00:00:00
  • 回答No.4
レベル13

ベストアンサー率 46% (643/1383)

やっぱりややこしい気がするんですが、 1:WORDなどで該当のCSVファイルを読み込み、以下の方法ですべて置換する   検索する文字:([0-9][0-9]-[0-9][0-9])   置換後の文字:$$\1   オプション:ワイルドカードを使用する  ※01-01 → $$01-01 ってな感じで置換します。 2:同名で保存し、EXCELで同CSVを読み込む 3:EXCEL上で ...続きを読む
やっぱりややこしい気がするんですが、

1:WORDなどで該当のCSVファイルを読み込み、以下の方法ですべて置換する
  検索する文字:([0-9][0-9]-[0-9][0-9])
  置換後の文字:$$\1
  オプション:ワイルドカードを使用する
 ※01-01 → $$01-01 ってな感じで置換します。

2:同名で保存し、EXCELで同CSVを読み込む

3:EXCEL上で置換(すべて)
  検索する文字:$$
  置換後の文字:' (←半角シングルクォーテーション)
と操作すると、ちゃんと読み込みできます。
お礼コメント
nonoz

お礼率 66% (4/6)

うーん。
それだと .txtに書き換えて.....
と大差ない手間のように思えてしまいます。

Excelで素直に読み込む方法はないんでしょうか?
「ある」か「ない」かで、考え方が違ってきます。
私はマイクロソフト製品には詳しくないので、
もし知らないだけで、素直に読み込む方法が
存在するならば、「できないから迂回方法を考える」
ということは無駄です。逆に存在しないならば、
Excelを使わない方法を考えるなりの根本的に
違うことを考えなけりゃなりません。


CSVファイルくらいは勝手な変更せずに
そのまんま読み込んで欲しいと思うのですが。

あ、アドバイスには感謝してます。
ありがとうございます。
投稿日時 - 0000-00-00 00:00:00
  • 回答No.5
レベル7

ベストアンサー率 57% (4/7)

実は、私も同じことでどうしようかと考え、VBAで 解決しました。 まず、csvファイルと同じ内容のxlsファイルを 作成し、セルの書式設定で自分の好きな形にします。 そして下記のマクロを実行すればよいはずです。 下記のtestというところを適当に書き換えてください。 Sub test() ' このファイルを、CSV形式で、このファイルと同じディレクトリに保存 ...続きを読む
実は、私も同じことでどうしようかと考え、VBAで
解決しました。

まず、csvファイルと同じ内容のxlsファイルを
作成し、セルの書式設定で自分の好きな形にします。

そして下記のマクロを実行すればよいはずです。
下記のtestというところを適当に書き換えてください。


Sub test()

' このファイルを、CSV形式で、このファイルと同じディレクトリに保存


Dim CurrentName As String

CurrentName = ThisWorkbook.Name

ThisWorkbook.Sheets("test").SaveAs _
Filename:=ThisWorkbook.Path & "\licindb.csv", FileFormat:=xlCSV

Application.DisplayAlerts = False '確認せずに上書き保存

ThisWorkbook.SaveAs Filename:=CurrentName, FileFormat:=xlNormal

Application.DisplayAlerts = True


End Sub
  • 回答No.6
レベル7

ベストアンサー率 57% (4/7)

>どこかで、「""で囲むと、文字列として読み込む」と >いう設定ができるのでしょうか??? "'03-09" などと、'の文字を入れると文字列として読んでくれます。
>どこかで、「""で囲むと、文字列として読み込む」と
>いう設定ができるのでしょうか???

"'03-09"

などと、'の文字を入れると文字列として読んでくれます。
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ