スレッド表示 | フラット表示〕 全トピック 920 件中 213 番目 次≫ ≪前

csvファイルの改行について

created: 2006-07-27 14:14 | modified: 2006-07-28 00:51 | reply: 2

[3188] csvファイルの改行について

user: volks | created: 2006-07-27 14:14
こんにちは、

phpでcsvファイルへ書き込みを行っているのですが、改行の処理で困っています。
コンマの問題はダブルクォーテーションで対処できたのですが、改行が解決できません。エクセルファイルで開くと・がついてきます。
いろんな置換処理をおこなってみたのですが、無理でした。

是非アドバイスよろしくお願い致します。
reply: 3189 返信 編集 削除

[3189] csvファイルの改行について

user: ゆうじ | created: 2006-07-27 19:35
こんばんわ。

ここで言われてる改行コードとは、
文字列中に含まれる改行コードのことでよいでしょうか。

Excel で適当に作った表をCSVで保存し、
エディタで見ると下のようになってました。
bbb と cccc の間に改行コードが入っています。

Excel view
+----+----+-----+
|aaa | 123|asdfg|
+----+----+-----+
|bbb | | |
|cccc| 456|qwert|
+----+----+-----+

Editor view
aaa,123,asdfg
"bbb ←この行末はLF
cccc",456,qwert ←この行末はCRLF

これでわかったのは、3点。
(1)改行を含む場合も " で囲む必要がある
(2)文字列中の改行コードは、LF
(3)行末の改行コードは、CRLF

Excelは、文字列中の改行コードと行末の改行コードを
使い分けているようですね。

と言うわけで、文字列中の改行コードだけを
LF("\x0A")に置き換えるとうまく行くのではないでしょうか。
Parent: 3188  reply: 3190 返信 編集 削除

[3190] なるほど?

user: volks | created: 2006-07-28 00:51
ゆうじ様ありがとうございます。

奥が深いです!!
とても分かり易い説明有難うございます!
3点ものポイントがあったんですね。改行にダブルクォーテーションもついていたんですね。

改行を使い分けているのも全然気付きませんでした、これを踏まえてテストしていきたいと思います。
本当にありがとうございます。
Parent: 3189  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 213 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑