ひまつぶし雑記帖

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/6/24 07:15

やっぱり今日は図書館で作業しよう。
ひととおりチェック済みで最終確認

2024/6/23 20:24

今日はいちんち雨だったんで部屋で作業したけど、明日、晴れるなら図書館で最終確認。
うちだとどうしても酒飲んじゃうし、映画とかアニメとか流しちゃうし、ぶっちゃけ効率が悪いんだよなあ。

2024/6/23 20:23

依頼されるタイトル数と締切までの日数に応じて使い分けするか…

検索
<<2024/6>>
      1
2345678
9101112131415
16171819202122
23242526272829
30

リンク

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