- ベストアンサー
ExcelでのCSVファイル編集の方法
- Excelを使ってCSVファイルを編集する方法について説明します。
- テキストファイルウィザードを使用してCSVファイルを読み込むと、タブ区切りになってしまう問題について解決策を提案します。
- 元のカンマ区切りの形式を維持しながらCSVファイルを編集し、保存する方法についてアドバイスします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
CSVは「値をカンマで区切ってある」テキストなので、タブ区切りは 確実に間違いですね。Excelはテキスト形式をタブ区切りかスペース 区切りだと思い込むので、上書き保存せず「名前をつけて保存…」 で形式にCSVを選択して下さい。 文字列を全部なにもかもダブルクォーテーションで囲むのは、CSVと しては傍流です。数値と紛らわしい数字だけで構成される文字列や 文字列の中にカンマや改行を含める場合に限定して囲む、のが主流 です。問題は、Excelは数字で構成された文字列を囲まないってとこ ろですかね。相手のアプリケーションがちゃんとしたデータベース なら特に問題にならないはずですが、どうなんでしょう。 フィルタで条件設定して加工するのが目的なら、Accessやファイル メーカーでヤル方が楽でしょう。やっぱり、CSVをExcelで開くのは 負け組一直線ですよ。
その他の回答 (5)
- keithin
- ベストアンサー率66% (5278/7941)
今の手順で拡張子を変えてテキストインポートウィザードで読み込ませます。 保存するときに,名前を付けて保存でファイルの種類をCSV(カンマ区切り)に変えて保存します。 以上です。
- MackyNo1
- ベストアンサー率53% (1521/2850)
>csvのままエクセルでファイルを開き、編集しますと、 >1つ目の問題点は、それこそ090など0から始まるの数字の先頭の0を消してしまいますよね?? これはcsvファイルをダブルクリックで直接開いた場合の挙動です。 エクセルから「データ」「外部データの取り込み」で「データの取り込み」を選択し、そのcsvファイルを指定すればテキストファイルウィザードが起動しますので、該当の列を「文字列」にして取り込んでください。 >2つ目はカンマ区切りはともかく、文字列の引用符の"がキレイさっぱりなくなってしまいます。 そもそもこの必要はあるのでしょうか? どうしても特定の列のデータを「”」で囲みたいなら、エクセルで編集する時にセルの書式設定で表示形式をユーザー定義にして「!"@!"」としてそのままcsvで保存し、このcsvファイルを右クリックして「プログラムから開く」で「Notepad」を指定し、「編集」「置換」で検索する文字列に「"""」置換後の文字列に「"」として「すべて置換」して上書き保存して下さい。 >私はExcel 2003を使っていますが、 >他のヴァージョンだとうまくいったりするのでしょうか?? バージョンに関係なくcsvファイルをエクセルで開く場合は全く同じ挙動になります。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
CSVは、アプリケーションに依存するファイルです。excelだと、文字列中の"は""とされる。数値は,で区切られるなど・・ そこで、最初からtsvで保存するとか・・ 私は、excelの出力するCSVをテキストデータとして利用するときは、Perlを使っていったん配列に変更して処理しています。 CSV形式の行から値のリストを取り出す ( http://www.din.or.jp/~ohzaki/perl.htm#CSV2Values ) どういうexcelデータを、どういう目的で他のソフトで開いて、最終的にどんなデータ形式が欲しいのか示されていないので、一般的な方法を説明しました。 もう一度、作業の具体的な目的、処理を教えてください。現段階ではそれ以上のアドバイスは無理です。
- COOL_K2
- ベストアンサー率21% (5/23)
↓のヒトに同意(拡張子変える必要なし)なのだが、「タブ区切り」を「カンマ区切り」にしたい、という要件だけ答えれば、フリーのテキストエディタの置換機能使えば一発で出来るよ。 あ、あとExcelって「090などの数字を、90と先頭の0を消されないように」みたいな余計な処理をするから、出力先のファイルを“テキストエディタで”もう一度見直したほうがいいよ。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
なぜ、拡張子をtxtに変更するのですか? それさえしなけりゃ問題ないはず。 Windowsは拡張子がすべての特殊なOSですから、拡張子変えたら保存するときそうなる。編集後CSVに変更して保存する。
お礼
ご回答ありがとうございます。 拡張子をわざわざtxtに変更したのは、確かここの過去ログにもあったと思うのですが、 Excelの解説サイトなどでよく取り上げられてのでそうしてみました。 csvのままエクセルでファイルを開き、編集しますと、 1つ目の問題点は、それこそ090など0から始まるの数字の先頭の0を消してしまいますよね?? 2つ目はカンマ区切りはともかく、文字列の引用符の"がキレイさっぱりなくなってしまいます。 私はExcel 2003を使っていますが、 他のヴァージョンだとうまくいったりするのでしょうか??
お礼
皆様ご回答ありがとうございました。 大変勉強になりました。