• 締切済み

Excelでcsvやtxtで保存する時にダブルクォートが勝手に付く

Excelで作ったデータにリンクがある時なのですが、csvかタブ区切りのtxtで保存すると勝手にダブルクォートが付いてしまいます。 勝手に入らない方法はないものでしょうか? 当方Excel2000です。 解決策をご存知でしたら、ぜひ教えてください!よろしくお願いします。 例:<A href="http://www.○○○.com" target="_blank">こちら</a> csvかタブ区切りtxtで保存して、テキストなどで開くと、 "<A href=""http://www.○○○.com"" target=""_blank"">こちら</a>" のような感じになってしまう。

みんなの回答

  • harat
  • ベストアンサー率60% (106/174)
回答No.4

>prn>txtにしたものは形が崩れるようです。 エクセル上で、横方向の複数カラムにデータを入れていて、prn変換後、セル内の文字のの右側が切れてしまうということでしょうか? セル幅を十分取れば出るようですが、横方向のカラム間に、タブが入ってしまいます。 タブが入っていてもいいのであれば、いっそのこと、エクセル上で出力したいセルを指定して(全部なら ctrl+a)コピーし、、直接エディター、メモ帳等にペーストし、(必要に応じ、タブの編集を行った後に)テキスト形式で保存するというのはどうでしょう?

bibi555
質問者

お礼

こちらの説明不足の中、考えていただき感謝します。 当方の状況なのですが、 1.データはExcelで作る(管理のしやすさ、ソートなどとコピペが容易なため) 2.使っている別のソフトは基本はExcelのシステムを使っているらしく、Excelで普通に読みこめるのでExcelで開き作ったデータをコピペ (そのソフトはコピペは1行づつしかできない+データは1万近くあり、一個一個データをコピペは不可能) 3.そのソフトの形式で保存(上書き保存)し、再度そのソフトで開くと「"」が二重に付いている。 最終的にエクセルで読み込み、保存している限りは不可能なのかな?と思ってきました。 どうにか「"」を使わないデータできるように、別方向から考えて見ようと思います。 harat様、そしていろいろとお考えいただいた方々、ありがとうございました。

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.3

--------------------------A------------------------------|--B--|--C--| <A href="http://www.○○○.com" target="_blank">こちら</a> ぐう 20 となっている時に A・B、B・C間に列を挿入して、セルに , を入れて セル全体をコピーしてメモ帳などのテキストエディタに貼り付ければ それらしくなりませんか? ファイルを保存するときに拡張子をCSVなどで保存してみてください ただ、エクセルに読み込ませると タブコードが入ってしまうのと数字も文字型と認識されてしまいます。 ご参考までに。

bibi555
質問者

お礼

いろいろとお考えいただき、ありがとうございます。 当方もこれならいけそうだ!と思ったのですがダメでした…  理由は(当方の説明不足もありますが)下記の通りです。 1.データはExcelで作る(管理のしやすさ、ソートなどとコピペが容易なため) 2.使っている別のソフトは基本はExcelのシステムを使っているらしく、Excelで普通に読みこめるのでExcelで開き作ったデータをコピペ (そのソフトはコピペは1行づつしかできない+データは1万近くあり、一個一個データをコピペは不可能) 3.そのソフトの形式で保存(上書き保存)し、再度そのソフトで開くと「"」が二重に付いている。 といった状況です。 txtやcsvで「"」が二重で無いデータを作っても、最後にExcelで保存してしまう以上、どうやっても二重になってしまいました。 外部入力なども試しました。 オプション設定で「表示された文章のまま保存する」といったようなものがあればよかったのですが… またなにか、打開策がありましたらご教授くださいませ。

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

CSVの定義 からすると正しい動作のようです。 http://www.wakhok.ac.jp/~tomoharu/Java/csv/index.html#Part2 ただ上記にも有りますようにあいまいな部分が存在するとの事です。 <A href="http://www.○○○.com" target="_blank">こちら</a> ↓ "<A href=""http://www.○○○.com"" target=""_blank"">こちら</a>" では困ってらっしゃるのでしょうから その理由を説明されては如何ですか? なお、CSV出力されたものを再度ExcelやAccessで読み込むと 元に戻りましたけど・・?

bibi555
質問者

お礼

エクセルで作ったデータをcsvかtxtでしか読めない(xlsは無理)別のソフトで使う特に「"」が余分に付いてしまい邪魔になりました。 エクセルで再度開くと問題ないのは確認しておりますが、エクセルでは処理できないので途方に暮れておりました。 回答いただき、ありがとうございます。  

  • harat
  • ベストアンサー率60% (106/174)
回答No.1

csvでは " が、意味を持っています。 今回のケースでは、1つのセル内に ” がありますので、csv変換時にエスケープコードとして、" が追加されているのでしょう。(これは、このcsvファイルをエクセル等で読み込んだときに、1つのカラムとして扱うためです。) タブ区切のtxtについては、分かりません。 エディター等で見ることが目的なのであれば、保存時に「テキスト(スペース区切り)(*.prn)」形式で保存し、ファイル名の拡張子を prn→txtに変更するか、エディター等から直接開けばいいでしょう。 ただし、このprn形式とすると、エクセルでは1つのセルに読み込めなくなります。

参考URL:
http://ja.wikipedia.org/wiki/CSV
bibi555
質問者

お礼

エクセルでデータを作り、違うソフトでcsvかtxtで読ませようと思ったのですが、prn>txtにしたものは形が崩れるようです。 でも、"は消えたので、この方法でどうにかならないか、試行錯誤してみます。 ありがとうございました。

関連するQ&A

  • 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ファイルとしてはタブ区切りでも問題ないのでしょうが…) どうすれば元のカンマ区切りの形式のまま保存できますでしょうか。 アドバイスよろしくお願い致します。

  • csv保存について

    windowsにてexcel2003を使用しています。 csvで保存した際にクォートをつける方法を教えてください。 Aのセルに数値を入力しBのセルに日本語を入れております。これでcsvにて保存しテキストエディタで開くと 1,日本語 2,日本語 ・・・ となってます。 希望としては "1","日本語" "2","日本語" ・・・ とクォートで囲みたいのですが設定で行うのでしょうか? ツールからオプション等を探してみたのですが方法がわかりません。

  • ダブルクォートで囲まれたCSVファイルについて

    CSVを読みこんで配列変換するロジックを考えていますがうまくいきません。 ソースは以下の通りです。 Dim objFs Dim objSm Dim strLine Dim arySplit Set objFs = CreateObject("Scripting.FileSystemObject") Set objSm = objFs.OpenTextFile(C:\sample.csv, 1) Do Until objSm.AtEndOfStream strLine = objSm.ReadLine strLine = Right(strLine, Len(strLine) - 1) strLine = Left(strLine, Len(strLine) - 1) arySplit = Split(strLine, "\"\",\"\"") MsgBox UBound(arySplit) Loop Set objSm = Nothing Set objFs = Nothing ※読み込むCSVファイルはダブルクォートが付いています。 ※正常に配列に変換できたかを確認する為、MsgBoxで配列の要素数を表示しようとしています。 やりたい事は 1.まずは先頭と最後のダブルクォートを除外。 2.区切り文字(\",\")で配列に変換。  ※なぜカンマで配列に変換しないかというとダブルクォートで囲まれた値の中にカンマ文字がある為、このような事をしています。 3.変数に変換した配列を格納。 申し訳ありませんがご教授いただけませんでしょうか。 またどうか皆さんのお知恵を私にお貸しいただけませんでしょうか。 何卒、宜しくお願い致します。

  • ExelのVBAでダブルクォートをセルに埋めるには?

    文字列の中にダブルクォートを入れるにはどうするのでしょうか? C言語であれば、\" と書くところですが。 Range("A1") = "<img src=""" & DataName & "."">" 、のように、 ダブルクォートを2つ続けると、Exel上で見ると期待どおりに表示されますが、 テキスト形式に保存してからファイルをみると、ダブルクォート2つ入ってます。 エクセルでデータベース管理をし、VBAでそれを編集して、 HTMLを自動生成するようなツールを作成したいのですが、 ダブルクォートをテキストに吐き出せなくて困っています。

  • ExelのVBAでダブルクォートをセルに埋めるには?

    文字列の中にダブルクォートを入れるにはどうするのでしょうか? C言語であれば、\" と書くところですが。 ダブルクォートを2つ続けると、Exel上で見ると期待どおりに表示されますが、 テキスト形式に保存してからファイルをみると、ダブルクォート2つ入ってます。 エクセルでデータベース管理をし、VBAでそれを編集して、 HTMLを自動生成するようなツールを作成したいのですが、 ダブルクォートをテキストに吐き出せなくて困っています。

  • 以下条件を実現させるエクセルコードが分かりません。

    A列にカンマ区切りで短いテキストを複数(2~4つ程度)書いて B列に URL(http://○○.com/)を書いて  ⇒ C列に以下のように出力させる にはどんなエクセル用コードで実現できるでしょうか? ■イメージ A列セル内          B列セル内 あああ,いい,うううう     http://○○.com/    ↓ C列セル内(3つ出来上がる)  <a href="http://○○.com/" target="_blank">あああ</a>  <a href="http://○○.com/" target="_blank">いい</a>  <a href="http://○○.com/" target="_blank">うううう</a> A列に一つのテキストだったら  ="<a href="""&B1&""" target=""_blank"">"&A1&"</a>" で大丈夫なんですが、A列にカンマ区切りとなると、分かりません。

  • Excelからcsvへの変換ができません

    現在顧客と次のやり取りをしています。 1.txt形式で注文情報を日々メールにて送信 2.そのデータを顧客がExcel2000で開いて(テキストファイルウィザード)、納期回答を入力。 3.CSV形式で保存後、返送。 ・・・ところが、ある顧客だけ、上記3の際、「名前を付けて保存」にて、ファイルの種類CSV(カンマ区切り)を選んで保存したら、勝手に拡張子が.BAKになってしまいます。 何が原因なのでしょうか。

  • エクセルでファイルをcsv形式で保存するマクロについて

    同様の質問が以前にあったのですが、 どうやら私のは少し違うようなので新規質問として投稿させていただきます。 エクセルファイルを保存する際、保存形式を「テキスト(タブ区切り)(*.txt)」にして、 ファイル名の拡張子の部分だけ(.csv)にして保存するマクロを作成したいです。 しかし、エクセルに付いているオートマクロ機能で記録しようとすると、 ・ファイル名がオートマクロを作成した際に付けたファイル名になってしまう。 ・保存場所がオートマクロを作成した際に保存したフォルダになってしまう。 という問題が発生します。 なので、 ・保存する際のファイル名は現在作業しているファイルの名前をそのまま使用する。 ・保存する際のファイル名の拡張子部分は(.csv)に変更する ・保存場所は現在作業しているファイルがあるフォルダにする(もしくはプログラムで予めパスを指定できる)。 ・保存形式は「テキスト(タブ区切り)(.txt)」 の4つの条件を満たすマクロの作成方法をお教えいただけますでしょうか? すみませんが、よろしくおねがいします

  • 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

  • ダブルクォートで囲まれた文字列の取り出し

    Windows環境でRuby 1.8.7を使用しております。 ----sample1.txt----- hoge"foo\"bar\"foo"hage"bar\"baz\"bar"hoge ------------------ ファイルから1行ずつテキストを読み込んで処理を行います。上のsample.txtの様な行を読み込んだ場合にダブルクォートで囲まれた部分 foo\"bar\"foo bar\"baz\"bar を取り出すのにはどの様な正規表現を用いればよろしいでしょうか? エスケープされたダブルクォートを除ける上手い方法がわかりません。 また、ダブルクォートで囲まれた部分が複数行にまたがる場合はどの様に処理をすれば良いでしょうか? -----sample2.txt----- hoge"foo \"bar\" baz" hage ---------------------- -----sample3.txt----- hoge"foo \"ba r\"baz" hage ---------------------- 最初の例のように1行の場合は File.foreach(file) do | line | …… end で良いのですが、複数行の場合には同じように単純には行きません。 ダブルクォートの数を数えて、奇数の場合は偶数になるまで次行をくっつける様な処理を考えているのですが、もっと適切な方法はありますか? 宜しくお願いします。

専門家に質問してみよう