- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CSVデータ「","」と「,」混在読取り出来ず)
CSVデータ「","」と「,」混在読取り出来ず ソート機能がうまく動作しなくなりました。
このQ&Aのポイント
- CSVデータの区切りが「","」と「,」の混在で区切られているため、ソート機能が正常に動作しません。
- データaでは「","」で区切られているので、この区切りでソート処理を行っています。
- 一方、データbでは「,」で区切られているため、この区切りでソート処理を行う必要があります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ダブルクォート文字列の中にクォートされたダブルクォートがなければ、次の文で両方に対応できると思います。 my $key = ($line =~ /("[^"]+"|[^,]+)/g)[$ccsv]; $key =~ s/"//g; # 必要かも
その他の回答 (3)
- kabaokaba
- ベストアンサー率51% (724/1416)
回答No.4
正規表現のバイブル(と勝手に思ってる) オライリの「詳説正規表現」に 引用符付きCSV形式について 相当なページ数を割いてるんだけど そういう資料みてる?
質問者
お礼
回答ありがとうございます。 正規表現についてまだまだ勉強不足です。 資料は見ていませんでした。 すみません。
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.2
や, だから, 「『ダブルクォートの中にない ,』で区切ればいいんじゃね」といっとるわけだが.... 普通に考えれば「CSV をなんかするモジュール」がありそう.
質問者
お礼
回答ありがとうございます。 すみません。perlを使っているのは年月が長いのですが、見よう見まねでやっているので、皆さんの話についていけないときがあります。
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
「ダブルクォートの中にない ,」で区切ればいい... のか?
質問者
お礼
回答ありがとうございます。
質問者
補足
ありがとうございます。 説明不足でした。ダブルクォートでくくられているものはデータな中にカンマ「,」が入っています。 なので今のプログラムですと、ソートが正常に行われなくなってます。 これで説明が出来ていると良いのですが・・・ すみません。宜しくお願いします。
お礼
ありがとうございます。 分かりやすい説明ありがとうございました。 上記のソースを使用して若干訂正しましたらうまく動作いたしました。 とってもうれしい感謝です。