- ベストアンサー
phpMyadminのCSV抽出時の改行コード
さくらのレンタルサーバを利用しています そのサーバにあるphpMyadminの利用での質問です さくらサーバのデータを1レコードCSVでエクスポートした時、テキストエディターで そのデータをみた時、本来、1行で表示されるべき所が複数行になってみえています。 よくみると、さくらサーバ側のあるフィールドで改行して表示させている所が エディター側で改行されているようです CSVにエクスポート時にどこか指定する所がありきちんとみえるようになるのでしょうか よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> それで、できれば、エクスポートされたデータをそのままエクセル表示させ > エクセル側で修正したいのでお聞きしています ん? テキストエディターだけでなくエクセルで開いても改行部分がおかしいって事? 詳しい状況求む。 ・テキストエディターで開いたら問題がある。→エクセルで開いた時に問題なければ問題ないでしょう? ・エクセルで開いたら問題がある。→どういう問題があるか教えてください。 前回の回答でも触れているけど、エクセルはダブルコーテーションでくくられたセルデータ中に改行が含まれていた場合、正しくセル内改行として取り込んでくれる。 数字が入った文字列とかは前ゼロが消えるという問題はあるけど、今回の件には関係ない話だ。
その他の回答 (1)
- anmochi
- ベストアンサー率65% (1332/2045)
もし複数行になっている(=改行されている)項目がダブルコーテーション(")でくくられているならそれはCSVの一般的な仕様であって問題ありません。 例1: "aaa", "bbb", "ccc ccc", "ddd" これをtest.csvとしてExcelに読み込ませると、A1がaaa、B1がbbb、C1がccc<改行>ccc、D1がdddとなります。 先ほどの例1をより正確に書くと 例2: "aaa", "bbb", "ccc\r\nccc", "ddd"\r\n となり(\rはASCIIコード13、\nはASCIIコード10を意味します)、フィールド途中の改行とレコード終了時の改行が「テキストエディターから見るとどちらも単なる改行」に見えるためにテキストエディターで開くとそう見えます。実際にCSVを処理するExcelやMySQLなどではこの2つは正しく区別されますので、テキストエディターで開いたらそうなるくらいに思っておけば良いです。
お礼
早速、丁寧な回答をいただきありがとうございます。 >テキストエディターで開いたらそうなるくらいに思っておけば良いです 当方、このエクスポートされたデータを一部修正して別のレコードとしてインポートしたいと 思っています それで、できれば、エクスポートされたデータをそのままエクセル表示させエクセル側で 修正したいのでお聞きしています
お礼
anmochi様 またまた、回答ありがとうございます。 舌足らずの質問のため混乱させてしまって申し訳ありません。 まず、当方が何をしているのかを説明させてもらいます (1)レンタルサーバの「さくら」であるDBを利用しています (2)そのDBのあるレコードを「さくらサーバのphpMysql」を利用して抽出して(CSV)必要なフールドを修整し(エクセルにて) 新たなレコードを作成し(CSV) (3)そのデータ(CSV)をphpMysqlのインポート機能を利用してレコードの追加をしたい このようなことを考えています 今回の質問は上記の(2)手順のところの分です そこで、anmochi様からの下記のお問い合わせの件ですが >テキストエディターだけでなくエクセルで開いても改行部分がおかしいって事? 詳しい状況求む。 >・テキストエディターで開いたら問題がある。→エクセルで開いた時に問題なければ問題ないでしょう? >・エクセルで開いたら問題がある。→どういう問題があるか教えてください。 ◆ダウンロードされたデータをテキストエディターで開くと、本来1行表示されるべきものが複数行(数行)出てきてしまいます →これはデータをみると、Mysqlのデータを投入時、あるフィールドで改行させて投入したところで改行されています Shift+enterだったか、Cont+enterだったか覚えていないのですが・・・ ◆ダウンロードされたデータをエクセルで開くと、1行表示にはなっているようなのですが文字化けします →これは、サーバ側はUTF8、エクセルはShift-JIS表示だからということのようです 確か、昔のエクセルは文字コードを選択できてたと思うのですが、今(excel2010)はないようで・・・ 従って、当方が本来しようとしているのは、 (1)ダウンロードしてきたCSVファイルをテキストエディターで開き(UTF8) (2)これをShift-JISで新たなCSVファイルとして保存する (3)その新しいファイルをエクセルで読み込み、必要な所を修正し新たなcsvファイルを作成する (4)その新しいcsvファイルをエディターでUTF8に変換して、Mysqlにインポートする このように考えています とここまで記載していて、(2)をやっていないことにきずきました (1)で複数表示されてしまったのであきらめて質問してしまいましたが・・・ ひょっとしたら複数表示は無視して、shft-jisに変換して(できるのかなぁ?)保存して それをエクセル表示してみます 結果についてはまた後でお知らせします まずはありがとうございました。
補足
anmochi様 返答が遅くなりました 確かに、上記手順で実施したらエクセル上で表示され、データの修整は可能でした ありがとうございました。