みけさん(24歳三毛猫)の獣医通いふたたびみたびよたび

2020/8/7 [19:11:47] (金) 天気

8/4。みけさんの様子がおかしくなって焦った。


夕方6時前ぐらいから夜10時ぐらいにかけて断続的に5回ほど吐いた。そうしたら、明らかに意識が朦朧としてよたよた震えるように歩いてへたりこみ、おトイレにいけずにぶるぶる震えてその場でおしっこを漏らす。


ただただ見守るしかない。2年前の危篤状態の記憶がよぎる。


そうこうしてるうちに23時過ぎに、トイレでうんこをして、ご飯も食べるようになった。とはいえ、足が震えてぎりぎり立っている感じ。


つい先日、みけさんの目が見えないことが発覚して、ただでさえ我が家はみけさんの一挙手一投足に気をつかっている最中のできごと。

とりあえず、というか、その日の夜中にはご飯もおトイレも通常営業になった、ように見えた。


翌日はかかりつけの獣医さんへ連行だ。


いつものあおぞら動物病院で診てもらった。

入院を覚悟して行って、先生にゆうべの状況を説明したら、吐くことで血圧があがってその症状であろうということだった。肺の音もきれいだし、触診でも水が溜まってたりするようなこともない。


一過性のものだということ。

吐くと全身に負担、ダメージがあって、そのせいで血圧が上がって痙攣や朦朧とするなどの症状が出ることがあるということだった。

人間と同じ。いきんだら、くらくらっとしたり、血圧がぐっと上がってしまうことがあるというのが腑に落ちる説明かな。


目のこともあるんで、改めて血圧を測ったら、正常値は160前後のところ、みけさんは220オーバーをたたき出す高血圧。

投薬によるストレスは避けたいんだけど(…って、先生は基本的に動物にストレスをかけることを避けることが最優先で信用できる)さすがに血圧が高すぎ。

今回のようなことがあると困るので降圧剤を試してみることになった。


肝心のみけさんの様子は。

吐いた当日の夜中までは、へたりこんでたけど、その後はいつも通り。

目が見えないので歩き方はよろよろ伝い歩きだけど、ひとの気配を察知してるのか、ご飯を要求して叫び、もりもりうんこをする。


毎日の投薬によるストレスは避けたいということだったけど、血圧が引き金となって、今回みたいなことがあるんじゃ話はまた別だ。てことで降圧剤を処方してもらって毎日飲ませることとなった。吐き気止めの薬に降圧剤にと薬の種類、量が増えるのはおばあちゃんだからしょうがない、か。

ただ、投薬担当の家人によると、降圧剤は小さいしたぶん苦くないので吐き気止めほど大変じゃないとのこと。吐き気止めの薬はするっと飲ませないと、苦いせいでよだれがぶくぶくとそれこそカニみたいに酷いありさまになるんだよなあ。

image

同じことを何度も言うけど。

ずーっと猫は吐くもの。毛玉を吐かせるために猫草は必須、とか思ってたけど大間違い。吐いてはいけない。内臓、全身にダメージがあるだけで何も良いことはない。毛玉は排泄されるのが正しい。

みけさん(24歳三毛猫)の失明が判明

2020/7/21 [19:49:33] (火) 天気

思い返せば様子がおかしかったんだけど、みけさんの目が見えなくなっていたことに気づかなかった。


3週間ぐらい前に、みけさんが左手跛行していて診察で先生が挫いていますね、どこか高いところから落ちたとかありませんかと。それはない。みけさんはキャットタワーに乗らなくなって年単位。せいぜいが、朝ご飯要求にベッドに乗ってくるだけだしなあ、と思ってた。

気になって動きを見るようにしたら、ベッドから落ちてた。それに猫飼いのご家庭ならどこもそうだろうけど、どの部屋も猫が通れる程度にドアや扉を開けてるんだけど、開いているところではなくてドアに直進して、ひげが当たる距離でやっと軌道修正していた。


今日、診察日で先生に報告したら、診察室を暗くして目にライトを当てて診察。

瞳孔が丸いまま。ほんとだったら、猫だったら目にライトを当てられたら、瞳孔が縦糸ぐらいになるはずなのは素人のわたしでもわかった。くらくらっと肝が冷えた。


レンズは濁ってないので白内障ではない。だけど、網膜の毛細血管が傷んでおり、見えてない。

人間と一緒、緑内障と同じようなものか。眼底、網膜の血管がやられるとそこがブラックホールとなって、進行するとどんどんそれが広がっていく、見えない範囲が大きくなって失明に至る。


そういえば…こういったことはまさに「そういえば」の連鎖になるんだけど。

ここ2年近く、あらぬ方向を向いて大きな声でなく・吠えることが多くなっていた。呼びかけに対して、こっちを見てるのではなく、こちらの方を向いているだけの感じだった。

おそらくブラックホール、黒いものが視界に入るので、それに向かって吠えていたのかもしれない。


とはいえ、できることはない。

血圧を測って高いようだったら降圧剤を毎日投与、ということもあるけど、それは改善の方法ではなく現状維持の方法。網膜がやられると改善しようがないはず。

であれば、毎日降圧剤を投与するなんてストレスのかかることをやるのはかわいそうでしかない。

目の奥が出血して目が赤く充血したり、痛みが出ているようだったら慌てて先生のところに連れていく。そうじゃなければ現状のまま様子見、というのが先生の結論。


そもそも、目が傷んでいるということに気づいたとしても、その時点でしてやれることはない。

血圧を測って降圧剤を投与するかとなっても年齢も年齢だし、おそらくその時でも様子見しかなかった。


見えないことで、みけさんのQOLはがた落ち。

食欲もあって、ご飯をもりもり食べて水も飲み、おしっこもうんこもがっつり。でも以前のように走り回ることはなく、運動量が落ちていることで体重こそ増えたけど、それは決して良い状態じゃない。

部屋では、ものの位置や動線は覚えているようで、気配を察知しながら動けるので、動線の邪魔をしない、ものの配置は変えない。


あー、くそおおおおお。めっちゃさびしいぞ、ちくそお。ご飯を出すとこちらを見上げて、ご飯皿を見つめて、先導したりでアイコンタクトがあったし、まっすぐこちらを見ながら寄ってきたりしてたのに。

突然、なにごともなかったかのように見えるようになる、治る奇跡を祈る。


2017年のみけさんの窓際カーテン越し

image

2020年のみけさんのベッド足もと

image

瞳孔の大きさ・丸さの違いが明らかに。


7/22 追記

https://www.anicom-sompo.co.jp/nekonoshiori/776.html

『猫との暮らし大百科』

↑今にして思うと、こちらのサイトに書いてある通りの兆候があった。

中でも

・何かを要求したり探したりしてよく鳴くようになった

・周囲の明暗にかかわらず瞳孔が開いたままになっていることが多い

・撫でた時に驚くなど、物事に過剰に反応するようになった

この3点。とはいえ、年齢的なものだと思ってた。


これからは、やはりこのサイト通りに。

動線や床に余計なモノは置かない。びっくりさせないように必ず声かけをしていく

ビリーズブートキャンプふたたびみたび

2020/7/1 [12:37:14] (水) 天気

初めてビリーズブートキャンプを買って入隊したのが2007年の夏だった。

体重が67キロと過去最高のひどいありさまになったんでなんとかしないと、てのが動機。約1か月ほぼ毎日やったらあっさり2キロ減の65キロになってビックリした記憶と、そりゃこれだけキツイ運動やれば痩せるわという納得感。

この2キロ減で満足してビリーズブートキャンプは除隊した。


そして去年2019年9月の健康診断の結果、メタボな数値が悪化、脂質代謝異常のE判定でのけ反った。

総コレステロールやLDLコレステロール(悪玉コレステロール)、non-HDL-Cは基準値超。中性脂肪も高値安定だった。

そりゃ食って酒飲んで寝るだけの生活を続けて初老を迎えるわけだから身体は正直なもんだ。


てことでビリー隊長のところに入隊することにした。

『ビリーズブートキャンプふたたび』

https://t2aki.doncha.net/?id=1575168685

↑去年12月時点でこんな感じ


去年9月から12月まで、だいたい週に2回前後は継続してたんだけど、今年1月と2月に怪我をしたりノロウイルス感染などがあり、さらにコロナ騒ぎで仕事のシフトなどがごちゃごちゃになって予定がうまく立てられず、ビリーズブートキャンプも休止状態。


そしてこの間、毎月のメタボ検診の、2月の血液検査結果が3月に判明。

悪玉コレステロールがまったくの正常値。他の項目は検査対象となっていないので不明だけど、中性脂肪はなんと半減していた。

ベルトも緩くなっていて、明らかに腹回りが締まった…あ、いや、浮き輪のぶよぶよは取れてないけど、腹の中、内臓脂肪が取れたイメージ。

これで目的達成したのでビリーズブートキャンプをふたたび除隊。


とはいえ、コロナ騒動が続く4~6月は外出して歩くことが減っていて、そりゃもう明らかに運動不足。メタボの数値がまた気になってきた。


メタボの数値が悪化しない程度、体を絞る程度に運動をしないとまずいなあ、という動機・目標。

それぐらいのことなら、もう少し楽にできるのがほかにないかと、筋トレ系ダイエット系の動画を漁って試してみたんだけど、ダメだ。話にもならない。


毎日5分なんちゃらするだけで~とか、プランクで簡単~とか、オススメにあがってくる。どれもこれもビリーズブートキャンプのようなやりきった感というか法悦感がない。

達成感がないとやる気にならん、続かないのだ。


ビリーズブートキャンプは実際に効果がある、確実に成果が出る。それは身をもって実証して実感している。

てことで、サボりながら間もあけながらゆるゆる入隊することにした。


世の中いろんな理不尽であふれているけど、筋トレ、筋肉は裏切らない。やったこと・やらなかったことの結果がきちんと返ってくる。メンタルケアにもなるので、落ち込んだ時や困った時のビリーズブートキャンプはおススメ。


image

perlでエクセルを読む

2020/6/23 [09:00:24] (火) 天気

WINDOWSのActive perlでSpreadsheet、ParseExcel、ParseXLSXを使ってエクセルを読んで作業したのでメモ。


複数のフォルダに入っている、複数のエクセルファイル。

フォルダ名は五十音のひらがな。あかさたな~ってやつ。

ファイル名は日本語だったり乱数だったり、中身とはほぼ関係もなく意味不明なファイル名となっている。


エクセルファイルの特定箇所を確認して、別途登録されているものと違っていたら修正。

エクセルのファイル名を登録されているもの(日本語)にリネーム。


ざっくり、てな作業。

ひとつずつエクセルを開いて、ひとつずつ確認する、なんて手作業はやってられない。作業前から、見逃す・リネームを間違えるのが目に浮かぶようだ。


一覧表を作って確認して、そこから修正すべきものだけコピペする方が早くて確実。


エクセルファイルは「.xls」なので、使うのはSpreadsheet::ParseExcel

エクセルファイルを読み込んで、エクセルのファイル名と該当セルに記載されている名前をタブ区切りで出力するだけのスクリプトになる。


BLOCK_LTAG

use strict;

use utf8;

use Encode;

use Spreadsheet::ParseExcel;


my $f = shift(@ARGV);

my $fname = Encode::decode(’cp932’, $f);

$fname =~ s!\\!\t!g; $fname =~ s!^.+\t([^\t])\t([^\t]+)$!$1\t$2!;

print Encode::encode(’cp932’,$fname) . "\t";


my $p = Spreadsheet::ParseExcel->new();

my $e = $p->parse($f);

if (! defined $e ){ print "!!!ERROR!!!\n"; exit;}

my $cnt;

for my $sheet($e->worksheets()){

last if ++$cnt > 1; my $cell = $sheet->get_cell(2,2); my $c = $cell->value(); $c =~ s!^[\t  ]+!!; print Encode::encode(’cp932’,$c); print "\n"

}

BLOCK_RTAG


確認が必要なのは1枚目のシートにある3行目C列のセル内容

get_cell(2,2)で該当セル情報を取得(perlは0からなので3番目は2)

セル情報がHASHで入っている。必要なのは値なのでvalueで取得する。


取得する値はutfフラグ付きの日本語になるのでcp932(WINDOWSの文字コード)にして出力。


ここで気づかれると思うけど、このスクリプトは、複数のファイルを一度に処理するようにはできてない。引数に渡されたひとつのエクセルファイルを処理するだけ。


perlにはopendirがあるし、ファイル一覧を取得してループでSpreadsheet::ParseExcelに読み込ませるのが綺麗で正しいやり方。だけど、日本語フォルダ名、日本語ファイル名がうまく渡せない、読み込めなくてハマった。

たぶん文字コードの問題。utfフラグをつけてみたり何もしないまま渡してみたりしたんだけど、どうもうまくいかない。時間もあまりない。


そこでわたしの得意な現物合わせのやっつけ仕事の出番。

よくわかってない人間が間に入るからダメなわけで、だったら機械同士、ソフトウエア同士で直接やりとりしてもらおうとバッチファイルにした。


BLOCK_LTAG

@echo off

for /r %%f in (*.xls) do (

echo %%f perl parse-excel.pl "%%f" >> _list.tsv

)

pause:

BLOCK_RTAG


バッチファイルの for 文で /r をつけると再帰でサブディレクトリも拾ってくれるなんて、今回初めて知った。


このバッチファイルでperlにファイル名を渡すとエラーもなく意図通り読み込んでくれるようになった。いや、上記したように、本当だったらperlだけで済むはずなので、綺麗な解決方法じゃないけど、結果オーライ、だ。


出力されたtsv(タブ区切りファイル)を新しいエクセルに貼りつけ、別途正しい登録名を貼りつけ一覧表を作成する。

そうしたら、エクセルお得意のvlookupでエクセルの該当箇所と正しい登録名の相違を確認。登録名と違っているファイルだけ開いて該当セルを修正する。


また、修正作業には登録名をコピるのでついでに一覧表も修正。

エクセルのファイル名と登録名がこの一覧表の「.xlsx」ファイルに記載されることになるので、Spreadseet::ParseXLSXを使って読み込み、一括でリネームするようにした。


BLOCK_LTAG

use strict;

use utf8;

use Encode;

use Spreadsheet::ParseXLSX;


my $f = ’_work2.xlsx’;

my $fixed = ’_fixed’;


opendir(DIR,’.’) || die;

my @dirs = grep(!/^\./ && -d $_, readdir(DIR));

closedir(DIR);


if(! -d $fixed ){

mkdir $fixed; foreach my $d (@dirs){ mkdir $fixed .’/’. $d; }

}


my $p = Spreadsheet::ParseXLSX->new();

my $e = $p->parse($f);

if (! defined $e ){ print "!!!ERROR!!!\n"; exit;}

my $cnt;

for my $sheet($e->worksheets()){

last if ++$cnt > 1; my $row; my $col; ($row->{min}, $row->{max}) = $sheet->row_range(); ($col->{min}, $col->{max}) = $sheet->col_range(); for my $i (1..$row->{max}){ my $fname0 = $sheet->get_cell($i,4); my $fname1 = $sheet->get_cell($i,1); my $dname = $sheet->get_cell($i,3); last if (! defined($fname0)); if($fname1->value() =~ m!N/A!){ $fname1 = $sheet->get_cell($i,2); } if(! defined($fname1)){ print $fname0->value() . "\n"; } else{ my $cmd = sprintf qq{copy %s\\"%s" %s\\%s\\%s.xls\n}, $dname->value(), $fname0->value(), $fixed, $dname->value(), $fname1->value(); print Encode::encode(’cp932’, $cmd); system(Encode::encode(’cp932’, $cmd)); } }

}

BLOCK_RTAG


row_range()とcol_range()でシートに記載されている行数とカラム数を取得してループさせて全部読み込ませる。また、vlookupで N/A になっているところは正しい登録名を別セルに記載したので、そちらを読むようにさせた。


ここでもperlだけでリネームはできるんだけど、なんせ日本語のフォルダ名とファイル名。またうまくいかなかったら面倒くさいんで、perlでリネームするのではなく、system関数を使ってWINDOWSに仕事をさせることにした。


といいつつ、リネームは怖いので、別フォルダに同じディレクトリ構成で登録名ファイルをコピーすることにした小心者だ。


日本語のファイル名は見た目分かりやすいけど、スクリプトで扱うのはただただ面倒くさい。

それに、そもそもなことを言っちゃうと。

ファイル名や入力項目などなど、表記の揺れレベルじゃない間違いは、依頼する時点で入力するひとのことを考えて何か仕組みを作らないといかんよなあ。


あ。もうひとつ。

目grep手merge撲滅!ひとのやる手作業を信用しちゃいけない。


image

仕事効率化とオペミスをなくす方法

2020/4/8 [19:23:49] (水) 天気

前から言ってるように、わたしはわたしの操作、オペレーションを1mmも信用していない。

世の中「絶対」なんてことは絶対ありえないんだけど、ただひとつの例外が自分のオペミス。絶対にオペミスを起こすということやね。


たとえば、なにかを集計するような作業


その1)エクセルで範囲指定してステータスラインをみればそこに合計値が表示されているので、別シートに転記するだけ。

・所要時間3分

1範囲指定で間違える

2転記する時に間違える


その2)エクセルでsum関数を使って、結果を別シートに表示させる。

・所要時間4分

1範囲指定を間違える


その3)てな条件の作業でも、わたしはオペミスを起こすので、スクリプトを書く。

・所要時間10分

正解を確認しながらスクリプトを作るので結果は間違いがない。


時間がかかろうが、オペミスが入り込む個所がもっとも少ないその3を選択するのが正しい。

さらに言うと、「作業」というからには同じような作業が次もあること多くて、最初の一度、時間をかけてスクリプトを書いてしまえば、10分かかったその時間が次には2分で済む。


システム運用とか、システムなんちゃらな仕事。

たぶんよそから見るとなにやらITですごいことが行われてるように思われているかもしれないけど、まったくそんなことはなくて。

それこそエクセルの前で電卓を叩くようなことをやってる。

ツールを作る、あるいはツールを組み合わせれば、5分で済むような仕事なのに、手作業と目視確認で半日もかけるようなことがざらにある。


こうして、わざわざミスを増やすようなことやってるんでびっくりするしかない。

話はそれるけども。

100、200ものチェック項目があるのは「今までこんなミスがあったからだ」とエラソにいうけど、100、200ものチェック項目なんて全部見る集中力が人間にあるとでも思ってんのか。本当にクリティカルな項目だけに絞るのがマネージメントというやつで、それができないのはマネージャー失格。


なんでそんな手順を踏んでるのかと言えば

「今までそれでやってきて問題がなかったから」

ミスも減って、時間コストも激減する方法があることがわかっているのに、こういう話になる。

おそらくそれって、時間コスト、ひとを配置して、その対価としてクライアントに請求しているから、余計なことをしないほうがいいんだろう。

いやもう、あほくさくてつきあいきれん。


おそらく発注元が思ってる以上に外注先のITはクズだと断言しておこう。

<<2026/2>>
       
1234567
891011121314
15161718192021
22232425262728
検索:

【最近の20件】