ひまつぶし雑記帖

doncha.net制作・発行:KindleやiBooks、楽天kobo、BOOK☆WALKERで読む電子書籍

めも:perlでcsvデータ

2014/4/16 [09:02:27] (水) 天気

最近あまりスクリプトを書いてなくて、いざ書こうと思ったら忘れていてビックリしたのでメモ。

csv(コンマ区切り)に限らずタブ区切りでも同じく。
DBIを使ってデータベースと同じように扱うモジュールもあるけど、そこまでのスペックは不要で、とりあえず目の前にあるエクセルや管理ページからダウンロードしたcsvを扱えればそれだけでOKというところ。

コンマやタブで区切られて、ヘッダがついていてデータが並んでいる

てな感じのデータ。

これを split してそのまま配列に入れればいいだけなんだけど、

単純に区切りでバラして配列に入れただけだと、データを取り出す時に $w[1] などと書くことになる。それよりはハッシュ(連想配列)にして $_->{title} などとヘッダでつけた名前(キー)で取り出せた方が間違いも少ない。

ヘッダをキーにしてデータを入れて取り出せるようにするのが以下(改行やEncodeなどは省略)

たぶんここがハッシュ(連想配列)の面白い書き方。
ヘッダ(文字)の配列をキーに、データの配列を値に一度に入れてしまう部分。

これのおかげで、カラム数が100とか200とか多くてもへっちゃら。

@bufという配列に一行ずつハッシュとして入って、データの取り出しもキー(名前)でわかりやすく。

てのを、仕事でもプライベートでも何度もあちこちで使い捨てで書き散らしていたんだけど、メモがどこにも残ってなかったので改めて。

どうでもいいけど、「ハッシュ」って色気がないよなあ。せっかく「連想配列」というそそられる名前があるんだからこちらを使うべき。

»電子書籍制作代行についてはこちら

profile

profile

 
doncha.net
contact:
»運営者
@t2aki@tokoroten.doncha.net

ところてんx5

2024/7/27 09:11

深夜帰宅して机を前に座ってデスクトップを立ち上げるのはなかなかしんどい。ので、ノパソ。あしたシフトが明けてから改めてMacのautomator調べよう>自分

2024/7/27 09:10

ちょっと続けてみるか

2024/7/27 09:09

あれ?途中覚醒なかったぞ。もしかしてヤクルト1000か、フラシーボか。

検索
<<2024/7>>
 123456
78910111213
14151617181920
21222324252627
28293031

リンク

WINDOWS版サウンドノベル
おかえりください PC WINDOWS版サウンドノベル
『おかえりください』体験版