• 締切済み
  • 暇なときにでも

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

CSVファイル中の項目 "01-03"などが、Excelでは 勝手に 1月3日などに変換されてしまいます。 もちろん、拡張子を.txtに書き換えて、毎回フィールドを 文字列属性にして読み込んでやればいいのでしょうが、 なにぶん量が多いので、毎回毎回こんな操作をするのは めんどくさいのです。 CSVファイルのままで、項目を勝手に変換させないで読み込む方法はありませんか??

共感・応援の気持ちを伝えよう!

  • 回答数6
  • 閲覧数307
  • ありがとう数9

みんなの回答

  • 回答No.6

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

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • Excel2000でCSVの読み込み時書式指定

    .txtを読み込むと最初に区切り指定やフィールドの書式指定が 表示されますが、.csvでも表示させることはできますでしょうか? 「123456789012345」といったものが「2E+14」とか勝手に変換 されるので、いちいち拡張子を.txtにして、全フィールド「文字列」 に指定して読み込ませているので非常に効率が悪いのです。 もしくは読み込み時のデフォルト書式を「文字列」にするという 方法はありますでしょうか?

  • EXCELで保存しているファイルをCSV(カンマ区切り)にしたい

    EXCELで作成されたファイル(1)(拡張子:xls)をCSV(カンマ区切り)のファイル(2)(拡張子:csv)にしたいのですが、方法として、(1)をEXCELで開き、CSV(カンマ区切り)で保存し、(2)を作成する方法しかないのでしょうか? 例えば、DOSのコピーコマンドなどで変更する方法や、エクスプローラー上で拡張子を変更する方法などなど。 できれば、画面を開いたり、閉じたりしたくない(自動で変換させたい) 宜しくお願い致します。

  • ExcelファイルをCSV 形式で保存するには?

    ExcelファイルをCSV 形式 (Windows、カンマ区切り) (*.csv)にして書類を提出するように言われたのですが、その方法について教えてください。 データの内容は会社の詳細で、1社につき100項目のデータがあり、それが50社あります。その場合、1社目のデータをA列に、2社目のデータをB列にというように入力すればよいのでしょうか? Excel の [名前を付けて保存] ([ファイル] メニュー) を使って、CSV (カンマ区切り) (*.csv)ファイルで保存すると、各項目がカンマで区切られるのでしょうか? 1レコード目と2レコード目はどういった区切りになるのでしょうか? またファイル形式はCSV 形式でと言うことですが、提出するファイル名の拡張子を.txtとしないといけないのですが、それはどうすればいいのでしょうか?

  • 回答No.5

実は、私も同じことでどうしようかと考え、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.4
  • ARC
  • ベストアンサー率46% (643/1383)

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

うーん。 それだと .txtに書き換えて..... と大差ない手間のように思えてしまいます。 Excelで素直に読み込む方法はないんでしょうか? 「ある」か「ない」かで、考え方が違ってきます。 私はマイクロソフト製品には詳しくないので、 もし知らないだけで、素直に読み込む方法が 存在するならば、「できないから迂回方法を考える」 ということは無駄です。逆に存在しないならば、 Excelを使わない方法を考えるなりの根本的に 違うことを考えなけりゃなりません。 CSVファイルくらいは勝手な変更せずに そのまんま読み込んで欲しいと思うのですが。 あ、アドバイスには感謝してます。 ありがとうございます。

  • 回答No.3

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

いやいや、私にとっては、Excelを使うよりも、 perlでスクリプトを書くほうが遙かに楽ですから。 でも作業者向けに Excelにしないといけないって 場面もでてくるので、Excelで読み込みなのです。 VBAは書いたことないのですが、 (C++は好きだけど、BASIC系は嫌い) それで読み込むような仕組みを作ることは 可能なのですか?? ならばそっちのほうがいいです。 嫌いだなんて言っている場合ではないです。 ナミダをのんでVBAに取り組みますわ。

  • 回答No.2
  • mnabe
  • ベストアンサー率33% (427/1283)

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

おぉ!スペースを入れるとは!! 思いつきませんでした。それは。 でも、そうすると、今度はいろいろなところで、 空白を削除する処理をせねばならなくなる... まぁ、人間は思いっきり楽になりますね。 一度プログラム(スクリプトとか含む)組んでしまえば。 次善の策として考慮させてもらいます。 ありがとうございました。

  • 回答No.1

CSVファイルのうちにそのフィールドを " " で囲むという手があります。ま、あまり現実的じゃないですけど。 CSVファイルを開くときどのように開いていますか?先にExcelを起動したあとにファイルメニューの開くから開くとウィザードが起動するんですが、拡張子CSVがExcelに関連付けされていると勝手に開いちゃいますので、拡張子をTXTなどに変えてから開いてみてください。 ウィザードでは列ごとにデータの内容を指定できますので、日付っぽいデータなんだけど全然別ってことなら文字列として読み込ませればそのままのデータが保存されます。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。 しかし、私が聞きたかったのは、ファイル名を「xxxx.txt」に書き換えて、ウィザードで文字列属性に指定して、、、、というやり方がめんどくさいので、なんとかなりませんでしょうか???という趣旨なのです。「なんとか手抜きができるようになりませんか?」という都合のいい質問なのです。 ちなみに、Excel97では、フィールドを ""で囲んでやっても、"03-05"は、「3月5日」に変換されてしまいます。 どこかで、「""で囲むと、文字列として読み込む」という設定ができるのでしょうか??? すみません、基本的に Windowsを含むマイクロソフト製品には、ど素人です。

関連するQ&A

  • CSVをExcelに読み込む時の前ゼロについて

    CSVファイルをExccelで読み込む方法について教えてください。 前ゼロを消さずにCSVファイルをExcelで読み込む場合に、下記の方法でできると書かれていました。 疑問なのは、なぜ1番でCSVの拡張子をtxtに変えているかです。 CSVをTXTに変える意味はあるんでしょうか? http://q.hatena.ne.jp/1102427939#a4 1.読み込むCSVファイルの拡張子を「.txt」に変更する 2.エクセルから「開く」で読み込むリストを選択して開く 3.「テキストファイルウィザード」というのが現れるので、「元のデータの形式」を「カンマやタブなどの・・・」を選択して「次へ」ボタン押下 4.「区切り文字」は「カンマ」のみをチェックして「次へ」ボタン押下 5.「区切った後のデータ形式を選択してください」とでるので、数字のみの項目を反転させて「文字列」を選択して「完了」ボタン押下 これでいけるはずです。 質問者:nyanta 2004-12-08 07

  • csv ファイルのデータを文字列として開く

    csv ファイルを開いた時に、最初から 全てのセルの 「セルの書式設定 > 分類」を「文字列」にすることは出来ますか? 一度、拡張子を txt に変えて 「テキスト ファイル ウィザード」 「列のデータ形式」を文字列にするのは知っているのですが、 ・拡張子を変える ・エクセルを開く ・ファイルを選ぶ ・全ての列を選択 ・文字列にする と非常に面倒なので csv ファイルのままでファイルを開いたら 最初から文字列にする方法を探してます。 お願いします。

  • 【Microsoft Excel】 .csv 以外のCSVファイルをExcelで開きたい!

    .csv 以外のCSVファイルをExcelで開きたいのですがどうしたらよいでしょうか? abcd.csvというExcelで問題なく開けるCSVファイルがあるとします。 これの拡張子を.xxx(又はその他、独自設定の拡張子)に変更して、Excelで開けるようにしようと思ったのです。 フォルダオプション>ファイルタイプ>新規(ボタン)」で「新しい拡張子の作成」ダイアログが開き、そこで ・ファイルの拡張子=.xxx ・関連付けられているファイル タイプ=Microsoft Excel CSV ファイル と設定して、abcd.xxxをダブルクリックでExcelが起動&ファイルオープンするまではいったのです。(アイコンも.csvファイルといっしょになりました。) しかし、 aaa,bbb ccc,ddd という内容のファイルが セルA1=aaa,bbb セルA2=ccc,ddd となり、csvファイルとして認識してくれていないみたいなのです。 ちなみに、元の.csvの場合にはちゃんと セルA1=aaa セルB1=bbb セルA2=ccc セルB2=ddd とExcelは表示してくれます。 どうにか上手い方法は無いものでしょうか! よろしくお願いいたします。

  • CSVとtxtからCSVファイルをつくるには

    元ファイル1.CSVと 元ファイル2.txtから 新しいCSVをつくりたいのです。 元ファイル2.txtは元ファイル3.txt、元ファイル4.txtといっぱいあります。 こちらは改行ありの文章です。 元ファイル1.CSVの第二フィールドに、元ファイル2.txtを差し込みたいのです。 今までは元ファイル2.txtを開いてコピーして、エクセル上で元ファイル1.CSVにペーストして、 CSVで保存していました。 しかし、このやり方だとtxtファイルの数が増えてくると、だんだんやりきれなくなってきました。 なにかうまい方法はないでしょうか?

  • ExcelでのCSVファイルの編集について、

    ExcelでのCSVファイルの編集について、 オートフィルタ機能を使いたいため、 ExcelでCSVファイルの編集しようとしているのですが、ちょっと苦戦しています。。。 私が試してみたこと 1.もとのCSVファイルの拡張子を○○.csv → ○○.txtに変更。   ↓ 2.Excelの「開く」からその○○.txtを読み込む。   ↓ 3.テキストファイルウィザードに従い、   1「カンマやタブなどの区切り文字によって~ 」にチェック   2「区切り文字」→ カンマ、「文字列の引用符」 → "   3「列のデータ形式」 → 文字列 ※090などの数字を、90と先頭の0を消されないように 上記のような手順でCSVファイルを取り込み、編集を終え、 保存する時は   「○○.txtにはテキスト(タブ区切り)と互換性のない機能が含まれている可能性があります。    この形式でブックを保存しますか?」 → このまま保存するため「はい」を選択 これでバッチリOK!…かと思われたのですが、 元の編集前の○○.txt は"名前","ヨミ","電話番号1", …… ""とカンマ区切りであったのが、 編集後の○○.txtは名前 ヨミ 電話番号1  …… タブ区切り(?) となってしまっています。 (CSVファイルとしてはタブ区切りでも問題ないのでしょうが…) どうすれば元のカンマ区切りの形式のまま保存できますでしょうか。 アドバイスよろしくお願い致します。

  • Excelでcsvのフィールドが減る

    csvファイルをExcel2000のテキストファイルウィザードで開き、 再びcsvで保存した場合に、フィールド数(カンマの数)が減る という現象が起こりました。 再保存する際、空白セルが無視されるのかと考えましたが、 同ファイル内に、空白であってもフィールドが保存されている レコードもあります。 OSはWin2000 csvはテキストファイルウィザードで開けない為、 拡張子を一旦 txt に変えてから開いています。 原因、解決方法、何かヒントになりそうな事なら何でもよいので アドバイスよろしくお願いします。

  • csvファイルをエクセルで開と拡張子が変わる

    ダウンロードしたcsvファイルを『 プログラムで開く 』を選択し、Excelで開くと、 ファイルの拡張子が[ .csv.txt ]となってしまい、カンマで区切りられた文字が 1つのセルにたくさん並んでいる状態になってしまいます。 ダウンロードしたファイルを1度保存してから、保存したファイルを直接開くと 拡張子が[ .csv ]のまま開けます。1つのセルに1項目が入力された状態で、 綺麗にエクセルに表示できます。 最近会社のPCを変えたのですが、以前はプログラムから開く を選択しても [ .csv ]のままで、綺麗に表示ができました。 プログラムから開く を選択しても、[ .csv.txt ] とならないようにするには どうしたらよろしいでしょうか。 ※Exce2007 ブラウザはFire Foxを使用しています。(Fire Fox以外で表示できないサイトですなので・・)

  • CSVファイルが開きません

    何の拍子かわかりませんが、突然CSVファイルが開かなくなりました。 エラーメッセージは・・・ 「XXX.csvは有効なWin32アプリケーションではありません。」 開き方は、CSVファイルをダブルクリックです。 因みに、右クリックで「アプリケーションからファイルを開く」を選び Excelを指定しても同じエラーで開きません。 しかし、空のエクセルを開いておいて「ファイルを開く」ボタンを 選択し、該当のCSVファイルを指定して開くと正常に このCSVファイルを開くことができます。 ExcelとCSVのリンクが壊れてしまったのでしょうか? (拡張子の属性とアプリケーションのリンクが壊れた) どなたか、復旧の方法を教えてください。 よろしくお願い致します。 OS:Windows-95 Office-97 Professional

  • CSVデータの文字列置換

    かなり、困っております・・・。 「c:\csv_data」に複数のcsvデータが入っており、csvに含まれている "00ABC"を"00000"に変換させたいです。 (フォルダ内の全てのcsvを変換させたいです) 一度作ってみたんですが、Excel-VBAでCSVファイルを開いて編集をかけると書式が失われてしまう為、だめでした・・・。 そこで ・Excel-VBAでの良い方法 ・BATファイルで拡張子csv⇒txtに開いてからの編集⇒csvへ といった2つの方法(どちらか)がであれば作業工程上、他の処理と同時に 自動化できることからこの2つの方法での文字列変換方法を知りたいです。

  • CSVファイルの作り方について

     CSVファイルの作り方というのは、単にエクセルの拡張子(xlsxなど)を、csvに変更するだけでよいのいでしょうか?