- ベストアンサー
csvファイルの改行について
仕事でWinの方からデータ作りを頼まれました。csvファイルで見本となるデータを頂き、エクセルでそれを使って作ってほしいということでした。私はMac9.1です。見本のデータを開いてみるとセルの中で改行してありましたが、こちらではその改行してあるところに記号が入っていました。その記号はキーボード上ではフォアードデリートのマークでした。(右側がとがった四角の中に×が入っているマーク)しかし、キーボード上ではそれがありますが、デリートの機能なので、もちろん入力することはできません。なんだろうと思いながら、こちらでデータを作る際、セル内での改行はcommand+option+retumを使い、改行しました。そしてWinの方にメールで添付し送信したところ、改行されていない…と言われてしまいました。私もあまりエクセルがわかっておらず、しかし、こちらの画面上では改行されているし…どうしたらよいのかわかりません。Winの方に聞いてみると、Winで作られた見本のデータにはそんなマークも入ってなく、改行されているようです。回答をよろしくお願い致します。私はエクセル98です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 当たり前のことかもしれませんが、そのCSVの構造は、以下のようになったものですね。 "通常のCSV" データ,データ,データ,データ,データ,データ(改行コード) データ,データ,データ,データ,データ,データ(改行コード) データ,データ,データ,データ,データ,データ(改行コード) データ,データ,データ,データ,データ,データ(改行コード) このようなデータは、単に、セルにデータを入れて、CSVとして保管するだけで、このようになります。しかし、Win側で受け取ると、 データ,データ,データ,データ,データ,データ[見えない]データ,データ,データ,データ,データ,データ..... のようになっているのではないか、と思います。 Win の受け取った側が、対処できないのではないかと思うのです。その改行コードは、Mac と Winでは、違います。 Mac型の改行コードは、「CR =^M(0A)」 です。私自身は、Mac自体は触ったことがありませんが、そういうデータは扱いますから、データを受け取ったときは、単に、CR(キャリッジリターン) を置換するだけで、MS-DOS型の改行「CR+LF =^M^L」 に変更することは可能です。 たとえば、以下のようなツールを使って交換が可能かと思います。 同じものは、Win側にも存在しています。 MultiTextConverter for Mac OS 文字コードや改行コードを手軽に変換、HTMLに対応 Mac OS Xに特化 http://www.vector.co.jp/soft/mac/util/se102523.html しかし、Win と Mac の互換性は、テキストファイルベースでは、この程度で済みますが、それではとどまらないはずなので、お仕事でしたら、その旨を一度相談したほうがよいのかもしれません。
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 #2 さんの内容をみて、私は、どうやら読み違えをしていたようですね。 とりあえず、Excelを通さずに、テキストだけで、csv のファイルの中身が見られますか? たとえば、 1234,"花王 アタック",液体,ボトル 1235,アリエール,粉末,箱 たとえば、このようになっていませんか? でしたら、#2さんの方法で大丈夫ですが、 それとは別に、以下のような問題を気にしていました。その場合は、変換ソフトが必要になると思うのです。 もし、勘違いでしたら、無視してかまわないです。 [XL97] テキスト ファイルについて http://support.microsoft.com/kb/405482/ja MS-DOS、Macintosh、UNIX でのテキスト ファイルの違い http://office.microsoft.com/ja-jp/excel/HP100141031041.aspx Excel 2007 の場合(サポートしているようです) Excel でサポートしているファイル形式 CSV (Macintosh).csv [Macintosh オペレーティング システムで]タブ、改行などの文字が正しく解釈されるコンマ区切りのテキスト ファイルとして、作業中のワークシートだけを保存します。 CSV (カンマ区切り).csv [Windows オペレーティング システムで]タブ、改行などの文字が正しく解釈されるコンマ区切りのテキスト ファイルとして、作業中のワークシートだけを保存します。 (括弧は、私が入れました)
お礼
まず、大変お礼が遅れたこと、申し訳ありません。回答、ありがとうございました。結局、原因はわからないまま、Mac側ではエクセルデータで作業、保存し、送信後、Win側でcsvに変換してもらう方法を取りました。本当にお世話になりました。感謝します。
- wisemac21
- ベストアンサー率39% (171/429)
セル内改行はWinではAlt+Enterです。 Mac版Excel 2004でCommand+Option+Returnでセル内改行したものをWin版のExcel 2003で開くとセル内改行は自動的に変換されているようです。 セル内改行のキャラクタコードはMacでは13、Winでは10になります。 Macでは ="ABC"&Char(13)&"DEF"でABC改行DEFとセル内2行になりますが Winでは ="ABC"&Char(10)&"DEF"となります。 Excel 98の環境はありませんのでよく分かりません
お礼
早速回答頂き、ありがとうございます。普段はデザイン系の仕事をしているため、エクセルは全くわかっていないのに、先方に「データを移すだけの簡単な仕事だから」と言われ、受けてしまったことを反省するばかりです。すごく奥深く、すぐに理解するのは難しいようです。これを機会にエクセルも勉強したいと思います。本当にありがとうございました。
補足
回答ありがとうございます。本当に私はエクセルのことを何もわからないんですが、すごくわかりやすいご説明で、ありがたく思っています。結論としては、このデータの改行されたものをWin側で見るには、CR変換ソフトが必要・・・ということなのでしょうか?それはMac側で変換してデータを渡したほうが良いのですか?それともまずは渡してWin側で変換したほうがいいのでしょうか?私もWinは全然わからないんですが、先方の方もこちら側がMacだということはわかっていらっしゃるので、Wendy02さんが回答下さったようなことを知っていればよいのですが、雰囲気では先方もわかっていないような気がします。どうするのが一番良いでしょうか?