skillup

技術ブログ

Perl

PerlでのCSV取込+金額のカンマ表示

投稿日:2016年4月1日 更新日:

CSV取込の場合、単純にカンマで区切って配列を取得するだけのロジックを実装すると様々な弊害が起きます。

よく見られるパターンとしては下記のようなケースでしょう。

  • フィールドの中に、カンマがあった場合、意図しない場所で区切ってしまう
  • フィールドの中に、改行があった場合、別行としてみなしてしまう。

このような弊害があるため、一般的にはライブラリを使って取り込んだほうが安全です。

Perlの場合、Perl::CSV_XSというライブラリが有名です。

http://perldoc.jp/docs/modules/Text-CSV_XS-0.23/Text-CSV_XS-0.23.pod

上記のようなエラーを回避しつつ、CSVを取り込むコードとしては下記のような書き方がベターです。

参考リンク

Perlでセル内改行つきのCSVファイルを処理する方法

CSV入出力

PerlでCSVを扱う – Text::CSV_XS

おまけ:Perlでの金額表示の際にカンマを入れたいときは?(リンクのみ)

数値3桁ごとにカンマで区切るには

-Perl
-, , ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Perlの配列、ハッシュ系の処理 (mapを中心に)

昨日書いたgrepに続き、mapについて調べたことを書いてみました。 Contents1 mapとは?2 mapを使った配列処理 基本3 mapを使った配列、ハッシュ処理 ハッシュを含む多次元配列への …

no image

Perlにおけるオブジェクト指向

今回はPerlのオブジェクト指向について。 Javaほどの厳密性はありませんが、Perlでもオブジェクト指向的なプログラミングを行うことは可能です。 今回はPerlのオブジェクト指向をさらっと基本的な …

no image

Perlでの配列処理

最近Perlでの開発をやっているのでそこでのメモなどを書きます。 今まであまりやったことがなかったんですけど、やはり文字列や配列関連の処理をどうやるのかでいろいろと迷ったりします。 が、もともとテキス …

no image

Perlの文字コードについて その3

実際のPerlでの文字処理に関しては以前の記事でも書いたように下記の原則を守ればOKです。  原則1 外部から入力された文字列はデコードして内部文字列に変換する  原則2 外部へ出力する文字列はエンコ …

no image

大容量データの取り込みについて

普段プログラムを組むときには可読性や保守性が大事なポイントになりますが、それと同じぐらい速度やメモリ効率なんかも大事です。 今回は少ないメモリでもなんとかできるような工夫をちょっとかいていこうかなと思 …