実際にはCGIやPerlではなくHTMLの技術だと思いますがPerlがらみのことなのでこちらで質問させて頂きます。
PerlでCSVファイルを扱っているのですが、データの中にカンマ(,)が入るとそこで分割されて取り扱われるので、何か他のものに置き換えたいと思っています。
ですが勝手に自分で決めたものだと、表示する際に置き換えたデータを元に戻さないといけないし、万一自分が決めた形と同じ形のデータが存在すると表示するときに置き換えたデータをカンマに戻すとそのデータまで置き換わってしまうので、きちんとしたコードがないものかと思っているのですが、カンマのタグというものはないのでしょうか。
つまりは、半角スペースならと置き換えられると思いますが、このようなコードで書き換えることはできないのでしょうか。
例)
「123,123」というデータを登録するのに分割されるのを防ぐために「,」を「、」に置き換えると、表示する際に再度置換する必要がある上、同一データ内に「私は、○○です。」があるとその「、」まで「,」に変換されてしまうのでそれを防ぎたいし、できれば表示する際置換しなくていいものがあれば。
PS 専門用語が分らないのでうまく説明できなくてすみません。
No.4ベストアンサー
- 回答日時:
perl で CSV を扱う一般論はさておき、CSVの内容をHTMLに埋め込むのが目的の場合には良い方法があります。
データ中の「,」 を , の5文字に変換してください。 HTML中の , という表示文字は、ブラウザが「,」を表示してくれます。
# No.1 さんはこの事をおっしゃってるんでしょう。
余談ですが、CSVをあなたの作ったプログラムのみでアクセスするならそれだけで良いです。 しかし、Excelで書き出した CSV を読むとか作ったCSVをExcelで読ませるとかが必要なら、他にも注意事項が沢山ありますよ。
No.5
- 回答日時:
> 注意事項ぜひお聞かせください!
CSV文法の基本規則は特にむづかしくありません。
http://www.kasai.fm/wiki/rfc4180jp
セルデータ中に 「,(カンマ)」、「"」、改行のいずれかを含む時は、セルデータ全体を「"」で囲む。 セルデータ中の「"」は「""(2個連続の")」に変換する。
それだけ守れば最低限の役には立ちます。
しかし、MS-Excel と CSV データを交換するにはもうちょっと工夫が必要です。 私も一部しか知りませんが、例えば
1 文字コードは Windows-31J (CodePage932 の事)
2 書き込み処理では改行コードは全て CRLF。 読込処理では、LF と CRLF の混在に耐えられる様に。 (あるバージョンの MS-Excel は、行区切りに CRLF を、セル内改行に LF を使います)
3 MS-Excel の「自動形式認識」は多くの場合有害。 例えば「1/2」というセルを持つCSVをMS-Excelで入力すると「1月2日」に化けたりします。 これを避ける為に強制的に文字列解釈させる方法はMS-Excelのバージョンで違っていて、Excel2003 の場合には「"=""1/2"""」 と書きます。
4 MS-Excel のCSV入力は、規則違反でもそこそこ面倒を見てくれます。 しかしそれでOKと思わずに規則は守りましょう。
以上、言葉で説明するのはまだ良いんですが、完全対応の入力処理を書くのは少々ムズいです。
No.3
- 回答日時:
CSVファイルの場合は、一般的にデータの中にカンマが入っている場合はそのデータを”(ダブルコーテーション)で括ります。
エクセルでセルの中に 2,3 と入れてCSVファイルで出力してみてください。お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java javaのCSVデータ読込についてです 6 2022/07/02 10:58
- ゴルフ ショットナビクレスト ゴルフ場データ更新について 2 2023/01/01 10:34
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- iPod・ウォークマン・音楽プレーヤー iTunes Matchについて。 iTunes Matchについて質問させてください。 このサービ 2 2022/06/23 12:50
- オープンソース csvデータのダブルクォーテーションで囲まれた文字内にあるカンマを削除したい 3 2022/09/02 15:17
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Excel(エクセル) excelで可視セルのみ置換 3 2022/08/04 11:02
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- 一眼レフカメラ 「Imaging Edgeに関する収集データの取扱い」について。何を収集するのですか? 1 2022/08/05 11:29
- その他(コンピューター・テクノロジー) 以下の用語がわかんないので教えてください!!! ①プロトコルの変換をする装置。トランスポート層からア 1 2023/07/05 09:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DataGrdViewに関連付けたデータ...
-
【Excel VBA】先頭の「0」飛び...
-
ListViewで条件によって表示を...
-
ASP.Net ObjectDataSource
-
XML
-
Listviewのデータを上から順番...
-
VBA ピボットテーブル自動更新
-
EXCEL2000のマクロ(ADO)にてCSV...
-
GridViewにバインドせずにデー...
-
カンマを,以外で表現したい
-
MSFlexGridのデータ表示位置の設定
-
複数のKinectからのデータ取得方法
-
こういったHPを作る場合、どこ...
-
DataGridViewで表示に制限をつ...
-
エクセルマクロ小数点桁数
-
Excelで指定した日付から過去の...
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel VBA】指定行以降をクリ...
-
テキストボックスのvalueとtext...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel VBA】先頭の「0」飛び...
-
DataGrdViewに関連付けたデータ...
-
Listviewのデータを上から順番...
-
GASでスプレッドシートの一番上...
-
VBAでページ番号、ページ最終行...
-
.NET SqlDataReader のレコー...
-
MSFlexGridのデータ表示位置の設定
-
GridViewにバインドせずにデー...
-
【ASP.NET MVC】一覧編集画面
-
エクセルマクロ小数点桁数
-
VB6 → EXCEL にデーター出力
-
DataGridViewで表示に制限をつ...
-
yahoo天気の過去1ヶ月分のデー...
-
コンパイルエラーSubまたは...
-
C# データ配列から画像を作成す...
-
エクセルVBAによるマトリク...
-
GridViewを自動的にスクロール...
-
VB.NETにてDB2のBLOB型のデータ...
-
ListViewで条件によって表示を...
-
Visual C++ 6.0で ODBCを使用せ...
おすすめ情報