licsu web n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Licsu-Web データ自由自在! PowerPoint Presentation
Download Presentation
Licsu-Web データ自由自在!

Loading in 2 Seconds...

play fullscreen
1 / 25

Licsu-Web データ自由自在! - PowerPoint PPT Presentation


  • 82 Views
  • Uploaded on

Licsu-Web データ自由自在!. 「図書系職員のためのアプリケーション講習会」. Licsu-Web のデータを自在に 加工してみましょう!. Licsu-Web からデータを取り出して、オリジナル帳票を作成したり、 Excel で集計しやすいように加工してみましょう。 ここで、テキスト処理(=図書館でもっとも応用のきく技術)について、まずは学んでください。 うまく作れたら、そのまま実業務で使ってしまいましょう!. 実はパターン化できるテキスト処理. 図書館の業務で必要とされることの多い技術は、テキストデータの加工です(経験談)。

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Licsu-Web データ自由自在!' - betty


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
licsu web

Licsu-Webデータ自由自在!

「図書系職員のためのアプリケーション講習会」

licsu web1
Licsu-Webのデータを自在に加工してみましょう!Licsu-Webのデータを自在に加工してみましょう!
  • Licsu-Webからデータを取り出して、オリジナル帳票を作成したり、Excelで集計しやすいように加工してみましょう。
  • ここで、テキスト処理(=図書館でもっとも応用のきく技術)について、まずは学んでください。
  • うまく作れたら、そのまま実業務で使ってしまいましょう!
slide3
実はパターン化できるテキスト処理
  • 図書館の業務で必要とされることの多い技術は、テキストデータの加工です(経験談)。
  • ある形式のテキストデータを別形式に加工することを、「フィルタ」といいます。
  • この「フィルタ」プログラムの作り方は、使用するプログラミング言語に関係なく、ほぼ定型化できます。これについて、まず覚えてしまいしょう!
slide4

1行づつ取り出し

前田朗, 図書館屋, 社会科学研究所, O型

1行のデータの項目わけ

不要行(あれば)の除去

項目ごとにデータ処理

(文字列の置換・集計など)

氏名 --- 前田朗さん

職業 --- 図書館司書

配属 --- 社会科学研究所図書室

血液型 --- O型かも

       ・

       ・

       ・

「フィルタ」プログラムの基本編!

前田朗, 図書館屋, 社会科学研究所, O型

コナン・ドイル, 小説家, ???, よくわかんない型

     (以下、略)

1行づつ取り出して処理

1行づつ取り出して処理

1行のデータの項目わけ

不要行(あれば)の除去

項目ごとにデータ処理

(文字列の置換・集計など)

文字列加工のときは、1行を読んで出力でOK。集計の場合は、全行を読んでから出力する

書式を指定して出力

書式を指定して出力

licsu web2
Licsu-Webの業務データを取り出してみよう

Licsu-Webサーバ

テキストデータ(XML形式)

です。

帳票内の文字を書き換えることもできます

テキストデータ(カンマ or タブ区切り)

です。

単純なデータ構造ですが、扱いは容易です。

汎用ファイル

出力

帳票(拡張子ert)の

ファイル

個人情報(利用者ID)などの扱いには十分注意しましょう。

危ないと思ったら取り出さないほうが安全です。

slide6
課題0
  • 自分の担当業務のデータを汎用ファイル出力で取り出してみましょう。出力時のオプション設定は次のようにします。
    • エンコード → UTF-8
    • 区切り文字 → タブ
    • 括り文字出力 → しない
    • ヘッダ出力 → する
slide7
テキスト処理にはスクリプト言語を使おう
  • 図書館では、テキスト処理ができると強力
  • いまどきの軽量言語(LL)は、本格システムまで作れる!
  • コマンド(命令文)と条件式の書き方を覚えれば、とりあえず使える。
  • スクリプト言語の種類
    • Perl
    • Ruby
    • などなど
slide8
Perlのインストール
  • テキストデータの加工の定番ソフトPerlをインストールしましょう(Licsu-Webレンタル端末には、既にインストールされています)
  • 以下のサイトから、Windows版(MSIがお勧め)をダウンロードしてPCにインストールしてください。
    • http://www.activestate.com/ActivePerl/download.html
slide9
多言語エディタのインストール
  • テキスト処理は、UNICODE (utf8)で行うのがわかりやすいです。
  • Windows標準のメモ帳でも utf8の読み書きができますが、大き目のファイルには対応していません。
  • 多言語対応エディタ(EMEditor)を次のサイトからインストールしてください。
    • http://jp.emeditor.com/modules/download2/
slide10
Perlことはじめ ~その1~
  • エディタでスクリプトを記述
    • データを一行づつ読み込む($lineは変数)
      • while ($line = <>) { ここに1行づつの処理を記述  }
    • データを書き出す
      • print $line;
    • 適当なファイル名で保存(try.pl など)
  • Windowsのコマンドプロンプトから、コマンド入力で実行
      • perl try.pl 入力ファイル> 出力ファイル
  • エディタで出力ファイルを開いて、結果を確認

コマンドの末尾は、; で終わりにします。

しかし、制御文 の} のあとには;不要です。

slide11

1行のデータの項目わけ

不要行(あれば)の除去

項目ごとにデータ処理

(文字列の置換・集計など)

課題1
  • 課題0で出力した「汎用ファイル出力」データを、別ファイルに書き出してみましょう!

1行づつ取り出して処理

1行づつ取り出して処理

書式を指定して出力

slide12
Perlことはじめ ~その2~
  • 条件によって処理をわけよう
    • If文の使用
      • if ( 条件式) { 条件にマッチしたときの処理}
    • 文字列のパターンで条件式を作る
      • $line =~ /ser6015/;
        • (「文字列 ser6015 を含んでいる行」という条件です)
      • 情報検索でいうトランケーションのような、さらに高度な指定も可能です。
        • . → 任意の1 文字にマッチ
        • [A-z] → アルファベット1文字にマッチ
        • \t → タブ1文字にマッチ
        • などなど
slide13

1行のデータの項目わけ

不要行(あれば)の除去

項目ごとにデータ処理

(文字列の置換・集計など)

課題2
  • 課題1のスクリプトを修正し、特定の文字列が含まれているときのみ、ファイルに出力するようにしましょう!

1行づつ取り出して処理

1行づつ取り出して処理

書式を指定して出力

perl 3
Perlことはじめ ~その3~
  • 文字を別の文字におきかえよう
    • 文字列のパターンで条件式を作る(「その2」の復習)
      • $line =~ /ser6015/;
        • (「文字列 ser6015 を含んでいる行」という条件です)
      • 情報検索でいうトランケーションのような、さらに高度な指定も可能です。
        • . → 任意の1 文字にマッチ
        • [A-z] → アルファベット1文字にマッチ
        • \t → タブ1文字にマッチ
        • などなど
    • その応用で、条件に当てはまる部分を別の文字にする
      • $line =~ s/ser6015/■雑誌作業ID[社研]■/;
        • 変数$lineのデータそのものが書き換わります!
slide15

1行のデータの項目わけ

不要行(あれば)の除去

項目ごとにデータ処理

(文字列の置換・集計など)

課題3
  • 課題1のスクリプトを修正し、特定の文字列を別の文字列に置換して、ファイルに出力するようにしましょう!

1行づつ取り出して処理

1行づつ取り出して処理

書式を指定して出力

perl 4
Perlことはじめ ~その4~
  • 特定のフィールドのデータを出力しよう
    • データを区切り文字で分割するには、split関数を使います。たとえば、変数$lineがタブ区切りデータであれば、次のように使います。
      • @record = split(“\t”, $line);
    • 上記の @record は配列(リスト)です。Perlの場合は、@がついた変数名のものが配列扱いになります。たとえば、配列の第一番目の要素を取り出すには次のようにします。
      • $line[0]
        • 配列のn番目の要素を取り出すときは、[]内にn-1の数値を指定します。
slide17

1行のデータの項目わけ

不要行(あれば)の除去

項目ごとにデータ処理

(文字列の置換・集計など)

課題4
  • 課題3のスクリプトを修正し、特定のフィールドのみ指定して、ファイルに出力するようにしましょう!

1行づつ取り出して処理

1行づつ取り出して処理

書式を指定して出力

perl 5
Perlことはじめ ~その5~
  • 数値データを集計しよう
    • Perlは数値データを扱うこともできます。たとえば、変数「集計結果」に変数「A」、変数「B」のデータを加えるには次のようにします。
      • 集計結果 = 変数A+ 変数B ;
    • 次の略記法も便利です。
      • 変数A += 変数B ; # 変数「A」に変数「B」を加える
      • 変数A++ ; # 変数「A」に1を加える
slide19

1行のデータの項目わけ

不要行(あれば)の除去

項目ごとにデータ処理

(文字列の置換・集計など)

課題5
  • 課題4のスクリプトを修正し、特定の数値のフィールドのみ出力するようにしましょう。
  • さらに、数値の合計を出力するように直しましょう。

1行づつ取り出して処理

1行づつ取り出して処理

書式を指定して出力

perl 6
Perlことはじめ ~その6~
  • ハッシュを使い条件ごとに集計しよう
    • Perlは「ハッシュ」という特殊な変数を使うことができます。先の配列と似ていますが、数値によるインデックスではなく、文字列を指定できます。
      • ハッシュ全体 → %data
      • ハッシュの一要素 → $data{‘test’}
        • {}の中に文字インデックスを入れます。上記は文字列ですが、変数でも大丈夫です。
      • ハッシュの全データを出力(定番の処理なので覚えてしまいしょう)
        • foreach $key (keys %data) {
        • print $data{$key};
        • print “\t”; # タブを出力
        • print $key;
        • print “\n”; # 改行指定
        • }
slide21

1行のデータの項目わけ

不要行(あれば)の除去

項目ごとにデータ処理

(文字列の置換・集計など)

課題6
  • 課題5のスクリプトを修正し、たとえば作業ID別に集計を出すようにしてみましょう。

1行づつ取り出して処理

1行づつ取り出して処理

書式を指定して出力

perl 7
Perlことはじめ ~その7~
  • HTMLでの出力
    • HTMLはテキストデータですので、Perlで生成することができます。
    • 入力データの改行の削除
      • chomp $line;
    • 文字の出力
      • print “<table> …. “;
    • 改行の出力
      • print “\n”;
slide23
課題7
  • 課題6のスクリプトを修正し、集計をHTMLの表形式で出すようにしてみましょう。
  • さらに進んで、集計にこだわらず汎用ファイル出力から、実用的なHTML形式の帳票を作成してみましょう。
  • うまく、作れたものについては、Webアプリケーションの形にして公開します。
perl 8
Perlことはじめ ~その8~
  • CGIで動作させる
    • Perlを使い、Webブラウザ上でシステムを作ることができます。そのための仕組みとして古くからあるのが、CGIです。
  • 先の課題のスクリプトを発展させて、汎用ファイルの集計プログラムを作ることもできます。
    • http://gensen.dl.itc.u-tokyo.ac.jp/test/licsu-form.html
  • このスクリプトですが、別紙のとおり、A4用紙たった1ページに収まるくらいの分量です。
perl 9
Perlことはじめ ~その9~
  • さらにPerlを学ぶには
    • 「超初心者によるPerl独学」
      • http://homepage1.nifty.com/gak/perl/index.html
    • 「Perl基礎入門」
      • http://www.kent-web.com/perl/index.html
  • Excel形式での出力
    • PerlにExcel用のモジュール(プラグイン)を追加すれば、実現可能です。チャレンジしたいかたは、講師までお申し出ください。