- 追加された行はこの色です。
- 削除された行はこの色です。
*編集中!テキストファイルの加工とエクセルの使い方 [#z4dcee8b]
*編集中!テキストデータの一括検索・置換と、エクセルの使い方 [#z4dcee8b]
#contents
**学生部普遍教育課からのおしらせ [#w860f2c8]
&ref(./Flu_annaunce.pdf);~
一斉配信メールを常に受信できるようにしてください。
新型インフルエンザが発生拡大しています!
千葉大学では今後の対応について、統合メールアドレス宛に一斉配信して情報を提供します。
学生の皆さんは、常にその情報を受信できる環境(携帯への転送設定等)にしておいてください。
***携帯電話への転送設定の方法 [#d5d0259c]
+統合メールにアクセス: https://cuacmsrv.chiba-u.jp/
+メニューから「オプション」を選択~
&ref(./#04_2.gif,50%);
+「携帯転送」を選択~
&ref(./#04_3.gif,50%);
+転送先携帯電話のメールアドレスを入力。~
&ref(./#04_4.gif,50%);~
とりあえず、500文字x2ページぐらいにしておけば、おおよその情報は得られるだろう。
**成績の閲覧方法と、今後の復習課題1(アンケート)・および今回の課題の提出方法: moodleの利用 [#adaada03]
これまでに提出してもらったレポート評価をmoodleというe-ラーニングのシステムを使って閲覧できるようにしました。~
http://bean.bio.chiba-u.jp/moodle/
-アクセス方法: うえのリンクからmoodleのページにアクセスし、自分のPukiwikiサイトに入るのと同じアカウントとパスワードを入力。~
&ref(./Untitled-1.gif,80%);
-授業のmoodleページに入ると、第4回授業の課題1のリンクが見えます。課題はここから提出できますが、''期日を過ぎると、自動的に提出できなくなります。''その場合、0点になりますので、忘れずに提出して下さい。~
&ref(./Untitled-2.gif,80%);
-自分の成績は、ページ左のメニューにある「評定」から確認できます。~
&ref(./Untitled-3.gif,80%);
-また、今回の課題2も、このシステムを使って提出してもらいます。
**第4回授業の獲得目標: &worried; [#t730ebd8]
+&size(14){''ウェブページ経由で送信されるデータの種類を知り、セキュリティに関心を持つ''};
+&size(14){''大量データ一括処理には検索・置換が有効であることを理解する''};
+&size(14){''正規表現とはどのようなものかを理解し、テキストエディタによる正規表現検索、置換の便利さを実感する''};
+&size(14){''テキストエディタとエクセルの間でのデータの共有方法を習得する''};
+&size(14){''エクセルによる簡単な表計算の方法を習得する''};
**ウェブページ経由で送信されるデータ: ⌣ [#g70d1ac2]
前回授業の課題では、[[制限ページのPROJECTページ>http://bean.bio.chiba-u.jp/joho/index.php?joho21%2FPROJECT]]で1人につき必ず1回はコメントを投稿するというのが課題の内容だった。期日までにコメントを投稿しなかった人は4名おり、評点から1点減点してある(成績閲覧ページで#03_1が0点になっている)。(なお、こういう集計作業も、テキストエディタによる正規表現検索・置換とエクセルの合わせ技でやったものだ。ほんの数分でできてしまう。)
~ところで、あのコメント投稿ページには、ニックネームでのコメント投稿も可能だったはずなのに、一体どうやってコメント投稿の有無を判断できたか、わかるだろうか?
前回授業の課題では、[[制限ページのPROJECTページ>http://bean.bio.chiba-u.jp/joho/index.php?joho22%2FPROJECT]]で1人につき必ず1回はコメントを投稿するというのが課題の内容だった。期日までにコメントを投稿しなかった人が数名いて、評点から1点減点してある。
~ところで、あのコメント投稿ページには、学生証番号や氏名をはっきり書くように指示しなかったが、一体どうやってコメント投稿の有無を判断できたか、わかるだろうか?
~答えは、&size(16){''ログファイル''};
~皆さんインターネットを毎日のように使っているが、実は、いつ、どのパソコンを経由して、どのページが閲覧されたかということは、ホームページを公開しているサーバに記録が残ることを知っていただろうか。
~今回の課題では、Pukiwikiを使って、ウェブサーバにコメントを送ってもらった。このとき、ウェブサーバのある場所に、
~皆さんインターネットを毎日のように使っている。インターネット上のページは自由に閲覧できて、自分がそのページを見ているなんて誰も知らないと思っているかもしれないが、実は、%%%どのパソコンを経由して、どのページが閲覧されたかということは、すべて記録されている%%%。
~例えば、今回の課題では、Pukiwikiを使ってウェブサーバにコメントを送ってもらった。このとき、ウェブサーバには、
access_log
というファイルができる。このファイルの中身はテキストデータ(今、勉強中の文字データのこと)で、次のような情報が書かれている。
というファイルができる。このファイルの中身は''テキストデータ''(今、勉強中の文字データのこと)で、次のような情報が書かれている。
192.29.8.70 - xxxxx [30/Apr/2009:15:41:26 +0900] "POST /joho/index.php HTTP/1.1"
200 18644 http://bean.bio.chiba-u.jp/joho/index.php?joho21%2FXXXXXX "Mozilla/5.0
(Windows; U; Windows NT 5.1; ja; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8"
192.29.8.69 - xxxxx [30/Apr/2009:15:42:18 +0900] "POST /joho/index.php HTTP/1.1"
200 6124 http://bean.bio.chiba-u.jp/joho/index.php?joho21%2FXXXXXX "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1)"
192.29.8.69 - xxxxx [30/Apr/2009:15:43:17 +0900] "POST /joho/index.php HTTP/1.1"
302 - http://bean.bio.chiba-u.jp/joho/index.php?cmd=edit&page=joho21%2FXXXXXX
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1)"
192.29.8.70 - xxxxx [30/Apr/2009:15:43:39 +0900] "POST /joho/index.php HTTP/1.1"
302 - http://bean.bio.chiba-u.jp/joho/index.php?cmd=edit&page=joho21%2FXXXXXX
"Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8"
192.29.8.1 - keito [30/Apr/2009:15:52:38 +0900] "POST /joho/index.php HTTP/1.1"
200 18516 http://bean.bio.chiba-u.jp/joho/index.php?joho21%2FXXXXXX "Mozilla/5.0
(Windows; U; Windows NT 5.1; ja; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8"
192.29.8.50 - xxxxx [30/Apr/2009:15:52:42 +0900] "POST /joho/index.php HTTP/1.1"
200 6124 http://bean.bio.chiba-u.jp/joho/index.php?joho21%2FXXXXXX "Mozilla/5.0
(Windows; U; Windows NT 5.1; ja; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8"
192.29.8.8 - xxxxx [30/Apr/2009:15:52:45 +0900] "POST /joho/index.php HTTP/1.1"
200 6124 http://bean.bio.chiba-u.jp/joho/index.php?joho21%2FXXXXXX "Mozilla/5.0
(Windows; U; Windows NT 5.1; ja; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8"
192.29.8.50 - xxxxx [30/Apr/2009:15:52:47 +0900] "POST /joho/index.php HTTP/1.1"
200 6124 http://bean.bio.chiba-u.jp/joho/index.php?joho21%2FXXXXXX "Mozilla/5.0
(Windows; U; Windows NT 5.1; ja; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8"
(IPアドレス等のデータは適当に変更してある)
-授業の閲覧制限つきPukiwikiページ(http://bean.bio.chiba-u.jp/joho/index.php?joho22)に添付してある、ログファイルを見てみよう。~
1つ1つを詳しく見て行くと
-最初の数字: 192.29.8.69等は ''IPアドレス''という、ネットワークに接続されているコンピュータにつけられた固有の番号。この番号を使うことで、どのコンピュータからウェブサーバにアクセスがあったか分かる。
-09s40xx: アカウント: 皆さんがページへのアクセスに使ったアカウント
- [30/Apr/2009:15:41:26 +0900] : アクセス日時
-POST: 行った操作。この場合はデータを投稿したことを示している。
-"Mozilla/5.0 (Windows; U; Windows NT: 使ったブラウザやコンピュータの種類
つまり、ログファイルを見れば、いつどのコンピュータから、ウェブサーバにアクセスがあったのか分かってしまうのだ(なので、この授業では出席をとっていない)。もしかすると、ウェブページの閲覧だけなら、誰がどこから見ているか分からないと思っているかもしれないが、~
&size(15){&color(brown){ウェブページを閲覧したり、投稿するだけでこれだけの情報がウェブサーバに残ってしまう};};~
ということは知っておくべきだろう。
つまり、ログファイルを見れば、いつどのコンピュータから、ウェブサーバにアクセスがあったのか分かってしまうのだ(なので、この授業では出席をとっていない)。~
さらに、大学などのネットワークでは、学内のどのコンピュータから、学外のどのコンピュータにアクセスがあったかということも、ログファイルに残っている。~
プライバシーの問題もあるので、通常、こういうデータはそうそう公にされることはないが、自分がインターネットを介してどのページにアクセスしたかは、ネットワークの管理者ならば知ることができるということは覚えておこう。
**大量データ一括処理には検索・置換が有効!!⌣ [#ca8acd91]
前回授業では、K2Editorというテキストエディタを使って、テキストデータの検索・置換を体験してもらった。「検索・置換」がよく分からなかったという人もいたので、もう一度簡単におさらいしておこう。
+まず、K2Editorを立ち上げて、下の囲みの中のテキストをコピー・ペースト
Humpty Dumpty sat on a wall.
Humpty Dumpty had a great fall.
Lumpty Dumpty sat on a wall.
Lumpty Dumpty had a great fall.
All the king's horses and all the king's men
Couldn't put Humpty together again.
このテキストの中のHumptyが実はスペルミスで、Lumptyだったとする。そこで、全てLumptyに修正したい。~
こういうときには、迷わず、検索・置換。
Couldn't put Lumpty together again.
このテキストの中のLumptyは実はスペルミスで、Humptyだった。そこで、全てのLumptyをHumptyに修正したい。~
数が少なければ手作業でやってもいいが、こういうときには、迷わず、一括検索・置換。
+メニューバーの「検索」から「置換」を選んで、検索ウィンドウを開き、検索語と置換語を入力
検索語: Humpty
置換語: Luympty
&ref(./2009_04_1.gif);~
検索語: Lumpty
置換語: Humpty
(大文字小文字の区別、ファイルの先頭からの横のボックスをチェックすることも忘れずに。正規表現をチェックしてあっても、この場合は影響は無い)
+''「全置換」''のボタンをクリックすると、対象としているテキストの中から、「Humpty」が全て検索され、「Lumpty」に置換される。
+''「全置換」''のボタンをクリックすると、対象としているテキストの中から、「Lumpty」が全て検索され、「Humpty」に置換される。
~
こんな簡単な操作だが、大切なのは、
~&size(16){&color(brown){''非常に大きなデータファイルであっても、検索・置換は一瞬にして終わる''};};
~ということだ。もし検索・置換をやらなかったとしたら、
1行ずつ目で検索語を探し、
見つかった検索語を消して、置換語を1つずつペーストする
~なんていう面倒なことをしなくてはならない。
~&size(16){&color(brown){''大量データの処理に、検索・置換は非常に有効!!''};};であることは理解しておこう。~
***もう1つの演習: ログファイルのテキストデータをタブ区切りにして、エクセルで閲覧 [#f2ef6963]
前回授業でやったもう一つの大事な点は、
タブで区切られたテキストデータをエクセルにコピーペーストすると、マス目の1つ1つにうまく収まる
ということだ。これを、http://bean.bio.chiba-u.jp/joho/index.php?joho22に添付してある、ログファイルを使って操作してみよう。操作の流れは、
-1. ログファイルの内容をK2Editorにコピー・ペースト
-2. K2Editorで 半角のスペース を 全てタブに置換する
検索語: 半角スペース1つ
置換語: タブ (編集画面で1つタブを入力し、それをコピーして、置換語を入力する場所にペースト)
-3. 一括置換できたら、全てを選択してコピーして、エクセルにペースト
これだけの数の検索・置換も、一瞬で終わるはずだ。~
作業が終わったら、アカウントのところに注目して、誰がどの発言をしているかを見てみよう。
~以上のように。&size(16){&color(brown){''大量データの処理に、検索・置換は非常に有効!!''};};であることは理解しておこう。~
検索・置換はコンピュータの持つ最も基本的で便利な機能であり、Wordにも、Excelにも標準装備されている。
**正規表現と友達になろう ⌣ [#eff5c546]
上の例では、 HumptyをLumptyに置き換えるという、ごく簡単な操作を行った。では、もっと複雑な処理をするにはどうすれば良いか?たとえば、
テキストを手入力するときに、半角スペースをいくつも連続で入力してしまったようだ。
2つ以上半角スペースが連続しているところは、全て半角スペース1つにしたい。
そんなとき、例えば
1回目
検索語: <半角スペース4つ>
置換語: <半角スペース1つ>
2回目
検索語: <半角スペース3つ>
置換語: <半角スペース1つ>
3回目
検索語: <半角スペース2つ>
置換語: <半角スペース1つ>
と何度も検索・置換を繰り返すのも1つの方法だろう。しかし、もっと便利な方法もある。それが、&size(16){正規表現};を使った検索・置換だ。
上の例では、 HumptyをLumptyに置き換えるという、ごく簡単な操作を行った。では、もっと複雑な処理をするにはどうすれば良いか?たとえば、前回の予習課題を考えてみよう。
Humpty Dumpty sat on a wall.
Humpty Dumpty had a great fall.
All the king's horses and all the king's men
Couldn't put Humpty together again.
という内容のテキストに対して、
-1. 「空白以外の任意の文字が任意の数だけ連続してptyを含む文字列」を検索文字列に指定し、「Pumpty」を置換文字列に指定して一括置換を行った場合、上のテキストはどうなるか?
-2. 「空白以外の任意の文字が任意の数だけ連続してallを含む文字列」を検索文字列に指定し、「ball」を置換文字に指定して一括置換を行った場合、対象とするテキストはどうなるか?
前回課題の内容は、「」の中の言葉の意味を考えてもらうことがポイントだった。例えば、
「空白以外の任意の文字が任意の数だけ連続してptyを含む文字列」
とはどういうものかというと、上の例では、
Humpty
Dumpty
がそれに対応する。他にどんな文字列が 「空白以外の任意の文字が任意の数だけ連続してptyを含む文字列」になりうるか、自分で考えてみよう。
当てはまる語: "empty" "ptylos" "optymous"
当てはまらない語: "emp ty" "puty" "Ptylo"(大文字・小文字を区別しない場合は当てはまる)
レポートでは、実際にこの検索置換をやってくれた人がいて、そういう人は、
検索語: Humpty
置換語: Pumpty
検索語: Dumpty
置換語:Pumpty
という検索置換を2回繰り返したはずだ。~
たしかに、こうやって何度も検索・置換を繰り返すのも1つの方法だろう。しかし、もっと便利な方法もある。それが、&size(16){正規表現};を使った検索・置換だ。
~正規表現はIT用語辞典によると、
文字列のパターンを表現する表記法。文字列の検索・置換を行なうときに利用される。
検索や置換で文字そのものを検索・置換するのでは無く、パターンを検索・置換するものということだ。(「正規」という言葉に特に意味があるわけでは無いので、気にしなくてもよい)~
検索や置換で文字そのものを検索・置換するのでは無く、%%%パターンを検索・置換するもの%%%ということだ。(「正規」という言葉に特に意味があるわけでは無いので、気にしなくてもよい)~
正規表現による検索・置換はテキストエディタを利用する醍醐味であると言える。~
&size(14){習得できれば、大学生活中も、社会に出てからも、様々な場面で役立つこと間違いない!、なぜなら、};
~&size(16){手作業で一つ一つ繰り返さなければならない作業が、&color(blue){''検索パターン''};と&color(blue){''置換パターン''};を考えるという知的作業に一変する};
~この授業で是非とも習得したいものだ。
***魔法の呪文:正規表現⌣ [#ze7e91ba]
ここに今、赤(ダイヤ)と黒(クラブ)のトランプが何枚かあるとする。ここから赤だけを抜き出したい。もしこのトランプを渡されたら、一枚一枚目で確かめて、赤だけを抜き出していくはず。10枚程度ならいいけれど、100枚もあったら、けっこう面倒な作業だろう。~
&size(9){ここに示したカードの図は、素材屋「[[ポケットサイズ>http://www.h7.dion.ne.jp/~pockets/index.html#kiyaku]]」から拝借しました。お礼申し上げます};~
&ref(授業/H20/情報処理/04/04_1.gif,50%);~
もし、魔法の呪文(「赤のみ」)というものがあって、黒のカードを一瞬にして全て消してしまえるならば、赤のカードのみを簡単に取り出すことができるのだから、とても便利だろう。。。。
~これをコンピュータで考えてみよう。今、手元に
84A9JA49K66
というテキストデータがある。ここで「半角英数文字」は黒いカードに、 「全角文字」赤いカードに対応すると考えると、先ほど図で示した例と同じになる。「半角英数文字と全角文字が混在するテキストデータから、全角文字だけを抜き出したい」。カーソルを動かしながら、いちいち目で見て判断して、半角文字を1つずつ消していっても良いが、この操作は、''正規表現''を使えば、一瞬にしてできる。
~
&ref(授業/H20/情報処理/04/04_2.gif,50%);~
***正規表現の演習1: [#d2c2f9b5]
Humpppppty Dumpppppppty sat on a wall.
Humpppty Dumpppppty had a great fall.
All the king's horses and all the king's men
Couldn't put Humpppppppppppty together again.
上の テキストをみると、pがたくさん連続している場所があることが分かる。どうも、手入力するときに、"p"をいくつも連続で入力してしまったようだ。~
%%%2つ以上pが連続しているところは、全てpを1つにしたい。%%%~
そんなとき、例えば
1回目
検索語:pp
置換語: p
2回目
検索語:pp
置換語: p
という検索置換を何度も繰り返すのも1つの手ではあるが、次のような正規表現を使えば、1回で処理が済む
検索語: p+
置換語: p
ここで出てきた
+
という記号が正規表現の基本コマンドのうちの1つだ。この"+"の意味は、
直前のパターン(文字そのものや、正規表現で表された文字列)の1回以上連続するもの
ということだ。例えば、
an+d
という正規表現は、
and
annd
annnnnnnnnnnd
には一致するが(このことを、「マッチ」するという)、
ad
add
adn
などには一致しない。
このテキストをK2Editorにコピー・ペーストして、正規表現を用いた次のような検索・置換を行ってみよう
検索文字列 [0-9A-Z]+
置換文字列 <無し>
置換文字列に<無し>と書いてあるときは、何も入力しなくて良い。「正規表現」と「ファイルの先頭から」のチェックボックスをチェックして、実際に置換してみると、
9JA96
という全角文字(赤のカードに対応)だけが抜き出されたはずだ。「魔法の呪文」が使えた!もう一つの例についてもやってみよう。
検索文字列 [8989JKJK]+
置換文字列 <無し>
で6以下のカードだけが抜き出せたはずだ。(注:検索文字に [8989JQKJQK]+ を指定すれば、Qが入っている文字列にも対応できる)
***正規表現の演習2: + を使って連続するスペースを一括検索・置換 [#p2678a4f]
Humpty Dumpty sat on a wall.
Humpty Dumpty had a great fall.
All the king's horses and all the king's men
Couldn't put Humpty togethe r again.
このテキストでは、手入力するときに、半角スペースをいくつも連続で入力してしまったようだ。~
そこで、2つ以上半角スペースが連続しているところは、全て半角スペース1つにしたい。~
これを正規表現を使ってやってみよう。
***他の呪文も見てみよう: K2Editorのヘルプファイル [#b81c6886]
***他の正規表現も見てみよう: K2Editorのヘルプファイル [#b81c6886]
正規表現には、上に示した以外にも様々な命令がある。K2Editorを立ち上げて、メニューバーからヘルプを表示させ、画面をスクロールして検索・置換に関する説明を見ると、正規表現について様々なことが書いてある。ヘルプにある説明はかなり分かりやすく書かれているのだが、これまで全く正規表現に触れたことの無い人が、この説明を理解するのは不可能だろう。前回の予習課題は、ヘルプファイルに書かれているような言葉の意味を考えて貰ったものだ。そこで、ヘルプファイルから、重要な点をいくつか抜き出して、例をあげて説明する。
~注) 例年、「マッチする」という言葉が分かりにくいという質問が出るので、下に正規表現を使った検索語がマッチする場合と、マッチしない場合の例を挙げておく。
正規表現を使った検索語: an+d (意味:aで始まり、nが1回以上、任意の数繰り返し、dで終わる文字列)
上の検索語にマッチする文字列の例: and, annd, annnd, annnnnnnnnnnnnnnnnd
上の検索語にマッチしない文字列の例: ad, aid, acid, answered
-よくつかう正規表現
. <梶田注:半角ドット1つ> (改行以外の) すべての文字にマッチする
例: a.d
aで始まり、つぎになにか1文字つづき、dで終わる文字列。
「and」「add」「a漢d」などがマッチする。
* パターンに0回以上連続でマッチ
例: an*d
aで始まり0回以上のnの繰り返しを含みdで終わる文字列。
「and」「andd」などがマッチする。
+ 直前のパターンに1回以上連続でマッチ
例: an+d
aで始まり1回以上のnの繰り返しを含みdで終わる文字列。
「and」「annd」はマッチするが「advance」「add」などはマッチしない。
[...] 文字の集合。〔〕の中では、範囲をあらわす「-」や否定をあらわす「^」も指定できる。
例: [abc]
文字a,b,cのどれかに一致する文字
上に挙げた「+」と組み合わせて使われることが多い
例: [abc]+
「abc」 「abacabcb」 「cccaaabbb」などがマッチ
例: [a-z]+ 半角英文字小文字のみからなる文字列
例: [A-Za-z0-9]+ 半角英数字のみからなる文字列
[の次ぎに^をいれると、「文字集合以外」 をあらわすことができる。
例: [^a-z]+ 半角英数字以外の文字からできている文字列
文字aからz(半角小文字)以外の文字にマッチ。
\t タブ <<エクセルとの合わせ技に必須!>>
\n 改行 <<データ整形には必須>>
\ 退避修飾 (エスケープ) 正規表現記号の有効/無効の制御
\^, \$, \*, \+, \?, \\ のように「^」「$」などメタ文字としての意味を打ち消して
単なる文字(リテラル)として指定したいときに使用。
<梶田注:日本語キーボードでは半角の¥マークです>
※:上の解説はK2Editorのヘルプファイルとマック版JeditXのヘルプファイルを参考にして作成した。MS Wordのワイルドカード検索も正規表現の文法にかなり近いものを使っている。~
***では、ここで、正規表現を使った検索・置換の演習問題をやってみよう。 [#q48b4c7d]
+ 半角英文字の連続文字列で最後がptyで終わる文字列
+半角英文字の連続文字列で最後がallで終わる文字列
+1行に含まれる全ての文字列
***正規表現を使った検索・置換の練習1 [#we0feb96]
***正規表現を使った演習問題 3 [#x665c989]
-次の囲みの中のテキストデータを、K2Editorの新しいページにコピー・ペースト
Humpty Dumpty sat on a wall.
Humpty Dumpty had a great fall.
All the king's horses and all the king's men
Couldn't put Humpty together again.
-1. 上のテキスト中、 "pty" で終わる単語を全て"Pumpty"に置き換える。
-2. 上のテキスト中、 "all" で終わる単語を全て"ball"に置き換える。
-3. 上のテキスト中、大文字で始まる単語を削除する
-4. 上のテキスト中、2文字以上連続する半角スペースを1つに置き換える
***正規表現を使った検索・置換の練習2⌣ [#ac37c783]
※一緒に操作すること。今回復習課題に出す操作の多くが含まれている。なお、ポイントは~
&size(16){テキストデータにおける"タブ"はExcelの"カラム(列)の区切りに相当する};
~ということ。タブで区切られたテキストデータは、エクセルにコピー・ペーストすることで、カラム(列)で区分されたデータとして扱う事が出来る。~
&ref(授業/H19/情報処理/05/Untitled-1.gif); というテキストをコピーして、エクセルにペーストすると、&ref(授業/H19/情報処理/05/Untitled-2.gif);
-練習: 下の囲みの中のデータはタブで区切られたテキスト。コピーして、エクセルにペースト(貼り付け)してみよう
リンゴ ミカン ナシ
スイカ モモ ブドウ
サクランボ イチゴ バナナ
--※エクセルできれいな表として貼り付けられなかった場合、一度、K2Editorにペーストしてから、再度コピーし、エクセルにペーストしてみよう。
-練習: 下の囲みの中のデータは複数の半角空白で区切られたテキスト。コピーしてそのままエクセルにペーストしても、きれいな表にはならない。そこで、正規表現を使って、複数の空白をタブ1つに置換してみよう。
リンゴ ミカン ナシ
スイカ モモ ブドウ
サクランボ イチゴ バナナ
--問題:複数の半角空白の連続を表す正規表現は何か?置換文字に指定する文字は何か?
-方法:
+K2Editorを開いて、新規ページに上のデータをペースト
+データの並びをじーっと見る
リンゴ ミカン ナシ
+下のようなパターンが見えてくる
リンゴ<複数の半角空白の連続>ミカン<複数の半角空白の連続>ナシ
~<複数の半角空白の連続>をタブに置き換えればいいということだから、
+正規表現検索・置換を使って
(正規表現チェック)
検索文字 [ ]+
置換文字 \t
+全体を選択してコピーする。
~&size(14){ ここまででK2Editorでの操作は終わり。次はエクセルでの操作 };
+エクセルで新しいページを開き、左上角のセルをクリックして、
+ワークシートの中の左上のセルをクリックして、ペースト。【''&color(brown){テキストファイルのデータをエクセルに移動できた};''】
**テキストファイルとエクセルの間でのデータのやりとり⌣ [#u26b1346]
いまやった操作は、テキストデータをK2Editorで編集して、エクセルの表にしたというもの。みんなができていたけれど、実はわりと高度な技。千葉大生100人に聞いて、10人知っているかどうか。。。
~これほど世の中でパソコンが普及していても、大半の人は、テキストファイルを編集したことが無いみたい。だから、タブ区切りテキストとエクセルのセルの関係も知らない人が大勢いる。~
~今後、皆さんは学習や研究の過程でいろんなデータを扱うことになるが、
~ %%%&size(16){''テキストデータにおけるタブはエクセルのセル間の区切りに対応する''};%%%
~ということを知っているだけで、~
~ &size(16){''大量のデータの一括処理処理やデータの書式統一がとても楽になる''};&bigsmile;~
~一つ一つコピー・ペーストしたり、目で探しだすのもいいけれど、テキストエディタによる一括整形でラクしたいものだ。
**Excel(エクセル)の操作の基本:表計算⌣ [#z7763282]
今日から2回ほど、表計算ソフトの代表ともいえるExcel(エクセル)の操作を習得する。表計算ソフトは、コンピュータに作らせた表の上に数値を記入して計算させるもの。手計算では、表の中の一つの数値を変更したら他の数値も全てもう一度計算し直さなければならない場合も、表計算ソフトを使うと、他の数値は自動的に再計算される。このアイデアは、ハーバード大学の学生であったDaniel Bricklinが1979年が思いつき、[[VISICALC>http://en.wikipedia.org/wiki/VisiCalc]]というソフトウェアとして実現したものだ。その後、表計算ソフトは、DOS/V機(日本ではPC-98)におけるLOTUS-1-2-3やWindowsにおけるMicrosoft Excelとして発展してきた。表計算ソフトは、ハードウェアの普及を促進したということで、パーソナルコンピュータにおけるキラーソフト(キラーアプリ)と呼ばれている。
***Microsoft Excelの各部の名称 [#mbea2964]
&ref(授業/H18/情報処理/05/excelmeisho.gif,40%);
***値・数式の入力と計算 [#e3101610]
+セルを一つクリックして、 =1+2 という式を入力
&ref(授業/H18/情報処理/05/sushiki.gif,80%);
***セルの参照 [#b4c462db]
+セルA1に5, セルB1に8を入力
+セルC1をクリックして半角=を入力し、セルA1、せるB1をクリック
--(あるいは、セルC1をクリックして、=A1+B1と入力しても同じ)
>&ref(授業/H18/情報処理/05/sansho.gif,80%);
5 8
***式(参照)のコピー・ペースト [#m6f73efd]
+式を入力したセル(例ではC1)をクリックしてコピー(ctrl+c):選択されたセルが波線で囲まれる
+同じ法則(例では「左側の2つのセルの値を足すこと」)を適用したいセルをマウスドラッグで選択
+ペースト(ctrl+v)すると、選択範囲に全て式がコピーされる
>&ref(授業/H18/情報処理/05/sanshocopy.gif,80%);
5 8
1 2
3 4
5 6
7 8
***絶対参照 [#m15ad34d]
+下の例のようにエクセルに果物の個数を入力して合計を求める
--&ref(授業/H18/情報処理/05/soutaierr1.gif,80%);
+りんごの個数の全体に対する比率を =B2/B5 で計算。書式をパーセントにする
+りんごの比率の入ったセルをコピーして、他の項目の比率のセルにペーストしてもうまく行かない
--&ref(授業/H18/情報処理/05/soutaierr2.gif,80%);
+これは、%%%通常のコピー・ペーストでは、セルが''相対的な位置関係で参照''されるため%%%
+リンゴの比率を計算するときに、分母のセル指定を $B$6 と$記号をつけて参照することで、絶対参照できる
--&ref(授業/H18/情報処理/05/zettai1.gif,80%); → &ref(授業/H18/情報処理/05/zettai2.gif,80%);
個数 比率
りんご 10
みかん 15
ばなな 25
合計 50
***関数の利用 [#f5eca58b]
+合計を入力したいセルをクリック(例ではC6)
+ =sum( と入力し、マウスで合計したい数値の範囲をドラッグし、最後に ) を入力してリターン
-(合計を入力したいところにカーソルを持っていって、ツールバーのΣをクリックしてリターンでもよい)
>&ref(授業/H18/情報処理/05/sum.gif,80%); → &ref(授業/H18/情報処理/05/sum2.gif,80%);
~
&size(16){今つかったsum関数は、エクセルを利用する上で最も頻繁に用いられる関数。使い方をよく覚えておこう。};
*第4回授業の課題 [#cb1d4309]
-提出期限:5月12日火曜正午
-&size(13){http://bean.bio.chiba-u.jp/joho/index.php?joho21に、「自分のID」/04 という新しいページを作成し、下の囲みの中にあるアンケートをコピー・ペーストして、「回答:」の後に答えを書き込むこと。};
-手順
++個人ページのトップページ(上の方のページタイトルに、「joho21/自分のID」のみが書かれているページ)に入り、画面の上の方にある〔 新規 〕をクリック
++ページ名を尋ねる入力スペースが表示されるので、半角英数字で、ドット・スラッシュ・0・4を下のように入力
./04
**課題1.アンケート調査 [#f1ed100e]
*第4回授業・基本課題
**氏名:
**課題への回答
-今日の授業の進み方は?(はやい、丁度いい、おそい)
--回答:
-今日の授業の難しさはどう感じましたか(簡単 丁度いい 難しい):
--回答:
-難しいと答えた人は、特にどの点が難しかったですか?:
--回答:
-今日の授業は(分かった 半分ぐらいは分かった 分からなかった):
--回答:
-分からないと答えた人は、特にどの点が分からなかったですか?:
--回答:
-今日の講義で分からなかった用語があったら挙げてください:
--回答:
-課題2解答欄:
--問1の答え:
--問2の答え:
--問3の答え:
--問4の答え:
-提出期限:5月19日正午
**課題1.アンケート調査 [#l78bc324]
http://bean.bio.chiba-u.jp/moodle/ にアクセスし、第4回授業課題1・アンケート調査に記入して提出しなさい。
**課題2(復習) [#j3bc620e]
http://bean.bio.chiba-u.jp/moodle/ にアクセスし、第 4回課題2(復習・予習) 小テスト に記入して提出しなさい。
**課題2. 復習課題: 千葉大学の年間収支を計算 [#f250a654]
-下の囲みの中のテキストは、公開されている[[千葉大学平成19年度決算報告書のPDF>http://www.chiba-u.ac.jp/general/about/disclosure/pdf/zaimu08_2.pdf]]から、テキストデータを抜き出したものです。千葉大学の1年間の予算状況が概観できます。
平成19年度 決算報告書 国立大学法人千葉大学 (単位:百万円)
区分 予算額 決算額
収入
運営費交付金 19,045 19,045
施設整備費補助金 1,642 1,642
船舶建造費補助金 - -
施設整備資金貸付金償還時補助金 - -
補助金等収入 247 450
国立大学財務・経営センター施設費交付金 86 86
自己収入 26,282 27,539
産学連携等研究収入及び寄附金収入等 3,035 4,017
引当金取崩 - 36
長期借入金収入 1,865 1,865
貸付回収金 - -
承継剰余金 - 1
旧法人承継積立金 - -
目的積立取崩 359 814
計 52,561 #1
支出
業務費 37,866 38,174
一般管理費 6,375 6,693
施設整備費 3,594 3,594
船舶建造費 - -
補助金等 247 442
産学連携等研究経費及び寄附金事業費等 3,035 3,615
貸付金 - -
長期借入金償還金 1,444 1,466
国立大学法人財務・経営センター施設費納付金 - -
計 52,561 #2
収入-支出 0 #3
上のデータは作業を簡単にするために、自己収入の内訳と業務費の内訳は省略してあります。
それぞれ、以下の通りです。
自己収入内訳
授業料、入学料及び検定料収入 8,499 8,508
附属病院収入 17,548 18,570
財産処分収入 - -
雑収入 234 461
業務費内訳
教育研究経費 21,646 21,093
診療経費 16,220 17,081
-問1: 表中、#1(H19年度収入額の計)に入る金額を答えなさい。
-問2: 表中、#2(H19年度支出額の計)に入る金額を答えなさい。
-問3: 表中、#3(収入−支出)に入る金額を答えなさい。
-問4 「授業料、入学料及び検定料収入決算」は、H19年度収入額合計の何パーセントを占めるか答えなさい
-提出方法:上で作成した「自分のID」/04というページの回答欄にそれぞれの答えを書き込みなさい。
~
~
注:上の囲みの中のデータは、半角スペースで項目が区切られている。そのため、今日の授業でやったように、半角スペースをタブに置換して、エクセルに貼り付ければ、エクセル上で必要な計算を行える。
検索語: <半角スペース1つ>
置換語: ¥t
で正規表現検索・置換