ひまつぶし雑記帖

改行混じりのcsvをperlで処理する

2014/6/24 [14:00:22] (火) 天気

ASPのデータベースからエクスポートされたcsvの集計作業ということで眺めてたら、セル内で改行がある・セル内にコンマがある、という腐ったデータでムカついた(「csvにエクスポート」するんだからコンマや改行の扱いをちょっと考えてくれりゃいいものを)

あちこちの管理画面でエクスポートというとcsv形式になってることが多い。
それをエクセルに読み込んで…
・行や項目の多いシートになると横スクロールに縦スクロールで大騒ぎ。
・改行が混じってるとその行だけセルが異様に広がっていて目障り。
・csvの値は属性を持ってないのでエクセルが勝手に判断してただの数値を日付表示にしたり意味不明の表示になっていることなどざらにあってイライラさせられる。

こういうデータをエクセル上で手作業すると簡単に間違う。わたしは。

なもんで、perlで読み込んで一括処理・集計した方が早いし確実。その場限りの使い捨てのスクリプトを書いて対応している…ところが、perlやAWK、sedなどは行単位での処理が基本。改行の混じったcsv、まさに今回のようなcsvデータは扱いが面倒くさい。

ということで今日もまた 「Perlメモ」 のお世話になりました。

perlでセルに改行やコンマが入っているcsvデータを処理する。

(出典:https://www.din.or.jp/~ohzaki/perl.htm
このまま利用させていただきました(ありがとうございます)

今さら知ったこと気づいたこと。
正規表現のパターンマッチは、リストコンテキストで評価すると()でくくった正規表現でひっかかった部分文字列のリストを返す。

今までこんなケースでは修飾子「g 」は使えないもんだとばかり思っていて 1 while(s/(.+)/$1/) など1つずつパターンマッチさせて処理していた。

scalar関数。リストの要素を数えるぐらいしか使ってなかったんだけど、今回このスクリプトでの使い方がまるでわからず調べてみたところ
https://perldoc.jp/func/scalar

scalar は単項演算子なので、EXPR として括弧でくくったリストを使った場合、 これはスカラカンマ表現として振舞い、最後以外の全ては無効コンテキストとして 扱われ、最後の要素をスカラコンテキストとして扱った結果が返されます。


ここでは「””」を「”」にするために使っている。
mapの条件式で部分文字列が「”」で括られていたら、scalar関数に文字列を渡して
「部分文字列をscalar関数のデフォルトに入れて、「””」を「”」に置換して、デフォルトの$_を返す」
左から順番に評価していって、コンマで繋いで各々の結果を切り捨てて、最後に残った式の結果を返すためだけにscalar関数を使っている。トリッキーで面白いなあ。これはループの中で使い途がある。

勉強になりました。


「perlパズル」
↑以前書いた、コンマの使い方のメモ

 

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

人妻・熟女ものが増えたワケ

2014/6/23 [17:29:11] (月) 天気

twitterで見かける、今回の児ポ法の影響で萎縮・自主規制の結果、(安全な)人妻・熟女ものが増えたという話。
もちろん「今回の」児ポ法の影響はあってしかるべきだけど、今に始まったことじゃない・「今回」の法案が決定的な要因ではないだろう。

わたしがエロ漫画編集をやっていた当初の頃からだから、もう30年ほど前から、児童や聖職者(教師、看護婦、警官など)、近親者を対象としたエロ漫画だったり、犯罪を想起させる漫画(ひとコマの中でナイフと顔が一緒に並ぶとかの描写も含めて)は都条例の指定対象となっていた。当時からこの手のテーマ、ストーリー、描写は自主規制してきた。
表現の自由とか言うとよくわからないし面倒くさいことがもろもろあるんだけど、これ描いたら指定されて次はない、という生活のかかった実感のあるところでのやりとりを都庁で(ありがたくないんだけど)頻繁にしていた。
(宮崎事件でいろいろなことが決定的に変わってしまったと思ってんだけど、昔からここはうまくまとまらないので黙っておこう)

なので「今回の」児ポ法が原因と決めつけてしまっては他にあるかもしれない要因が見えなくなってしまわないかと思ってしまう。

人妻・熟女ものが増えたのは、ロリ自主規制よりももしかすると
「エロ本業界の厳しすぎる現状について書きました」-ダリブロ 安田理央Blog
現在のエロ本の読者は40~50代でネットが出来ない人が大半

こっちの方が人妻・熟女ものが増えた理由になってるような気がする。
エロ漫画、エロ本で抜いていたのがたぶんこの通り40代〜50代だろう…まさにわたしがそうなんだけど。となるとその対象はやっぱりそのぐらいの年齢まで広がるもので「売れるから」人妻・熟女ものが増えた、というのが正解だと思ってる。

雑誌などの紙媒体じゃないけど。動画配信サイトなどでも「熟女」「人妻」は売れるジャンル。ネットができるできないに関わらず、人妻・熟女は売れる時代になったということかも。

少子高齢化。これからの日本は徐々に黄昏の世界に入っていくんだろうなあ、という感想で終了します。

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

猛禽カフェに行ってきた

2014/6/22 [10:02:20] (日) 天気

去年暮れに行ったふくろうカフェとは、またちょっとコンセプトが違った今回の「鷹乃眼」。
カフェに梟や鷹がいるのではなくて、梟や鷹のスペースが広くてカフェはおまけ。その分、鳥の数は多くて鳥たちはゆっくりしていたように見えた。
image
モルモットやウサギ、羊、ハムスターなど小動物と直接遊べるコーナーが動物園にあるけど、それの梟&鷹バージョン。手に乗せたり触ったり(注意事項は守って)自由に遊ばせてくれるところだった。

ちらっと写真に写ってるガラス越しの狭いカウンタースペースがカフェ。
image
このふたりがべったりくっついてるなあ、と思ったら「好き同士」らしい。
スタッフさんいわく、仲のいいのとか悪いのがいて集団生活は鳥もひとも大変ですよと。実際、仲が悪い鳥同士を近づけると両者威嚇を始める。鳥の種類ではなくて、個々で仲のいい悪いがあるのが意外で面白かった。
image
image
image
鳥の種類も多くて、眺めて触って写真を撮っていたら1時間があっという間だった。

鷹も各種いて、各人肩から頭に乗せて写真を撮ったり遊ばせてもらった。エサを投げたり羽を広げさせたり…いや、最初は突かれたりしたらどうしようとか、ちょっとビビってたんだけど、彼らは大人しいというか余裕があるというかで全然平気だった。鶏やチャボの方が凶暴ですよ、とスタッフさん。ちなみに、鷹が本気になると足・爪がヤバいとのこと。

鷹の写真はひとが映り込んでるものばかりでここに載せられないのが残念。
自分が写ってる分なら少し晒そう。むさ苦しいのはすみません。

image
少し手を動かすとバランスを取るためか羽を広げる。軽く羽ばたくだけなのに風圧をはっきり感じる程だった。
image
image
ハゲを鷲掴み…って、全然痛くない。掌(?)の暖かみが薄い髪を通して伝わってきた。爪は切ってるんだそうだ。
image
レッツゴー3匹の図。
このデカイ梟は、爪切りなど嫌なことをするのが獣医(男)スタッフさん(男)なので、男が嫌いらしい。女性だともっとフレンドリーとのこと。

「鷹乃眼」
https://1st.geocities.jp/takanomesky/01/index.html


押上、スカイツリーエリアということで

「スパイスカフェ」でカレー
https://www.spicecafe.info/home
image
粒マスタードがごろごろ入っていて、じんわり辛くなってくるカレーだった。古民家を改造して雰囲気の良い美味しいお店でありました。

「キルフェボン」で無花果のタルト
https://www.quil-fait-bon.com
image
銀座などにあるタルトの店がスカイツリーのソラマチに入っている。ここのタルトはベタ甘くないのでおっさんのわたしでも好きで、この時期「無花果のタルト」は絶品。


昼頃から飲み屋まで半日たっぷり遊んだ土曜日でありました。

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

書店で電子書籍販売

2014/6/21 [09:05:17] (土) 天気

電子書籍を書店で買うのか、ということなんだろうけど、わたしはこれなら十分ありだと思った。
image
写真がショボくてわかりにくいけど、店内の柱部分を使って電子書籍ダウンロード用のカード「BooCa」がずらっと並ぶ。
(こっちが詳しい→ 「楽天とBookLive!が参加ーーリアル書店で電子書籍が買える「BooCa」4書店で提供開始」

実際に見るとけっこう楽しい。
神保町の三省堂は以前からLideoのコーナーというか電子書籍のコーナーもあって、チラシ・パンフレットと実機があるんだけど、これだと何か電子教材でも売ってんのかぐらいにしか見えなかった。

今回のBooCaはカード。
1つのカードが1つのタイトルとなっているので「へえ、あの本が電子書籍で売ってんのか」「ん?これってどんな本だろう」と、とてもわかりやすいし、興味を引かれる。表紙が印刷されていると強い・キャッチー(底本を元にしたイメージと注意書きがあって、権利関係など大変そう)で、つい手を伸ばしてしまう。

書店にいて飽きないのは「ぶらぶら歩いて表紙や背表紙を眺めて引っ張り出して、ぱらぱら立ち読みする」のが楽しいから。カードになってると書店内回遊の流れの中に違和感なくすんなり入るから回遊時間も伸びる。巡回しなきゃいけないエリアが増える。

もともと書店は1つのタイトルでハードカバーがあって文庫本がある。どちらを選ぶかは買う側の理由。これらに電子書籍がカードという現実になって選択肢の1つになったということ。カタチとても大事。
帰りの電車で読みたいというのなら紙本を買えばいいし、今日は飲み会だし帰ってから読めばいいやというのなら電子書籍も選択肢に入るだろうし。

カードは中身を丸ごと立ち読みはできないので、せめて冒頭の何ページ分かをカードに掲載してほしかったかなあ(同じ売場にその本があるからそっちを読めばいいだろうというのは怠慢)


んで、こんなことを書いておいてアレすぎるんだけど。
対象の電子書籍ストアは楽天koboとBookLive!…いちおう楽天koboの会員ではあるけど今回はまだ買っていない。

自分で売る側から言うといろんなストアに並べるべし!とか言ってんだけど、買う側として現状kindle一択。
「あの本どこで買ったっけ?えーっと」
と、本棚以前にアプリを開いて探してまた別のアプリを開いて探してというのがけっこう面倒くさい。
…という自分都合でちょっと腰が引けた。書店での販売が常設になるなら考えないとなあ。


image
神保町交差点の立ち食い蕎麦「いわもと」美味かった。

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

ストアごとのリンク生成

2014/6/18 [16:38:58] (水) 天気

今日時点、ウチが電子書籍で有料販売しているのは kindleストアと iBookstoreの2つ(無料販売をしているのはiBookstoreとgoogle playブックス、楽天koboの3つ)

ひとつのタイトルを複数のストアで販売しているような場合、ほとんどのところがやってるように「タイトルがあってそこにストアが複数ぶら下がる」表示形式の方が当然わかりやすい…kindleで始まっちゃったもんだから、データの持ち方を間違えていてAmazonのasinをキーにしているので修正が面倒くさいということもあって放置してた。また、AWSのこともあってウチのサイトはあちこちにasinを使ってるはずなんだけど、5分前の自分はすでに他人なので、まるで覚えていない。

影響範囲が大きいので別ページで試してから徐々に修正していく(徐々にkindle以外にも並べるべく)
まずは 「EPUB3::かんたん電子書籍作成」 の右サイドのコンテナでお試し。データベースはいじらずにスクリプトに配列をベタベタ書いて作ってみた。

スクリプト自体は使い回しだし、目新しいこともなく簡単に出来たんだけど、ちょっと気になったのがレギュレーション。

ストアへリンクするのにロゴなど画像を使った方がキャッチーでわかりやすいのは間違いない。kindleの利用規約や商標利用に関するページや、App Storeマーケティグガイド系のPDFをざっとみて…よくわからなかったのでロゴ画像を使うのはやめた。
(といいつつ、App StoreのPDFはこんな使い方しちゃダメですよ、と画像つきでレギュレーション解説があってわかりやすかったです、はい)

サイトを辿ってみると、デザインに合わせてロゴを加工して使ってるところがあるなあ。
また(c)表示も GyaO  https://gyao.yahoo.co.jp/ct/anime/ を見るとページの一番下にごちゃーっとひとくくり。昔から雑誌なんかでも見るやり方ではあるけど、本当なら作品の近くになきゃいけない、はず。

目立たないのでOKのケース、力関係でOKのケース。
ということで、小心者で善良な納税者のわたしは触らぬなんちゃらの日和見。うーん、我ながらデザインだせえ。


今回のperl小ネタ。配列を order by random。

(出典:https://www.din.or.jp/~ohzaki/perl.htm
いつも参考にさせていただいている  「Perlメモ」  のまんま(ありがとうございます)
今さらながら配列のスライスでこんなことができる(for文の最後の行)なんて知らなかった。


[06/19 08:37:59] 追記。
この雑記帖の上に配置してみた。
・カテゴリ電子書籍一覧を表示している時
・ひとつの記事を表示している時
の2パターン。うるさかったら外そうと思ったけど意外に違和感もなかったのでアクセスの様子見してみる。

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

読者のコミュニティ

2014/6/17 [17:49:12] (火) 天気

mixi全盛だったほぼ10年近く前、それなら自分でもSNSというのをやってみようとごそごそ作って公開したのが
「趣味は読書」https://doncha.net/about.pl
というサイト。

2006年4月1日に公開。東日本大震災で二ヶ月ほど中断期間を挟んでとりあえず今日時点まで継続している。今となっては3世代ぐらい古い作り方なんだけど、今でも会員登録してくれるかたがぽつりぽつりと続いている。
震災で物理的に一度サイトをリセットせざるを得なかったので、震災前のひとをそのまま引き継ぐことができなかったのが残念。
それでも、ほとんど告知などしてないにも関わらず、現在300人近くのかた(あ。ちょっと盛ってる)に登録・利用いただいている(ニュースサイトやブログなどで紹介されていたのでそちら経由でアクセスされるかたが途切れない感じ https://news.mynavi.jp/articles/2012/10/22/bookreading/

もともと、わたしは本の重複買いがあるトリ頭。あれ?これ読んだっけ?買ってたっけ?というのを防ぐためのメモとしてのサイトを考えていたところだった。

「これからはSNSですよ」とチャラいネットの営業マンが先の尖った革靴に幅の広いネクタイを振り回してみんなクチを揃えて言うので(その前は「これからはブログですよ」とヤツらは言ってたけどね)それじゃあ、ということで。
・自分だけじゃなく他の人にも使ってもらおう
・当時全盛だったmixiの機能を パクろう 参考にしよう
・Amazonに紐づいた本棚機能は必須だろう
と設計して作った。

自慢しちゃうと、同類のブクログや読書メーターなんかより早い公開。
がっかりしちゃうと、ショボいしビジネス苦手なのであっという間に置き去りにされた。

サイトのコンセプトは

図書館で本を借りて図書カードを見て
「あれ?あのコもこれ読んだのかぁ」とか「おっあいつこんなの読むんだ」と、ニマニマしたり
ひとんちに呼ばれたら、まず本棚を覗いて
「これ、わたしも読んだよ」と言いたくなったり
図書館とか本屋で、どの棚の前に立っているかで、そのひとの属性がわかって、うれしかったり
なんだか「ありきたり」な趣味なので履歴書にも書けない気がしたり
本を読んでも難しいことを考えたり感想文は面倒くさかったり
ヲタクだと思われそうで嫌だったり
でもって、だけど本好きとか本読みですが、なにか?


このコンセプトは震災前のmixiもどきサイトと今の震災後のサイトで変わりはなく同じ。

震災前のサイトは自宅のパソコンをサーバーにして運営、リアルタイムでのログ解析なんかもやっていて、そこで気がついたんだけど。

読者ユーザーの行動の8割以上は
「アクセスする→本棚ページで本を登録する→離脱する」
だった。

掲示板やメッセージ機能は本棚と比べるとほとんど使われていなかった。サイトの動線がなってなかったのかもしれないので断言するのは危険だけど、読者ユーザーが求めているのはSNSではなくて本棚だった。

てことで、震災後のリスタートでは、ウチは本棚機能に絞って、いわゆる交流(?)はtwitter連携してそちらに丸投げ。
電子書籍の普及うんぬんの文脈で読者コミュニティ、ソーシャルリーディングなんて単語が飛び交ってるけど、そもそも読書はとても個人的なものなので他者とのかかわりは難しいのかもしれない。
わたしは、読んでいる最中に他人があーだこーだ言ってるのを見るのは違うと思っていて、読み終わった後なら、ほかのひとはどうだったんだろうというのは興味津々。


ちなみに。古いサイトだけど。
Twitter連携があって、リプライすると自分の本棚に本があるか検索したり、本棚のエクスポートがあったり、いま見てもけっこう頑張ってるおれさまなので、規約もろくにかかれていないサイトだけど、もしよろしければ気軽にご利用くださいませ。
https://doncha.net/about.pl?c=help
↑機能面のヘルプページ

 

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

profile

profile

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

ところてんx5

2024/4/25 00:49

だめだ。PDFをWordで開いたらレイアウトが微妙にくずれて行数が正しくない。かえって間違いのもとだ。

2024/4/24 13:43

pdfをWordで開いてみる手もあるか。空行、1ページの行数とか、pdfのまんまだったら行数表示で問題解決。だけど、実際どうだろ。帰ったら試す

2024/4/24 12:58

空行は目視しか確認方法がない…
windowsで半透明にするフリーソフトを見つけたので、各ページの幅で検知する。
全ページの行数を数えてたんじゃ絶対漏らす。そんな集中力はないわ

検索
<<2024/4>>
 123456
78910111213
14151617181920
21222324252627
282930

リンク

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

[19 Page]« »
1 2 3 4 5 6 7 8 9 10

TOTAL:2982

2024 (5)
1 (2)
2 (2)
3 (1)
2023 (53)
1 (1)
2 (5)
3 (1)
4 (1)
5 (3)
6 (9)
7 (9)
8 (6)
9 (5)
10 (3)
11 (2)
12 (8)
2022 (16)
1 (1)
3 (2)
6 (2)
7 (1)
8 (4)
9 (2)
10 (1)
11 (2)
12 (1)
2021 (12)
1 (3)
2 (1)
6 (1)
8 (2)
9 (1)
10 (1)
11 (2)
12 (1)
2020 (18)
1 (2)
2 (6)
4 (1)
6 (1)
7 (2)
8 (2)
12 (4)
2019 (17)
1 (3)
2 (4)
3 (2)
4 (2)
5 (1)
6 (1)
8 (1)
10 (1)
12 (2)
2018 (21)
1 (3)
2 (2)
3 (2)
4 (1)
5 (1)
6 (6)
8 (1)
9 (1)
10 (2)
12 (2)
2017 (32)
1 (2)
2 (1)
4 (2)
5 (1)
6 (6)
7 (3)
8 (5)
9 (3)
10 (2)
11 (2)
12 (5)
2016 (41)
1 (5)
2 (5)
3 (2)
4 (3)
5 (4)
6 (6)
7 (2)
8 (2)
9 (3)
10 (1)
11 (4)
12 (4)
2015 (99)
1 (11)
2 (12)
3 (9)
4 (6)
5 (8)
6 (8)
7 (3)
8 (5)
9 (16)
10 (6)
11 (1)
12 (14)
2014 (112)
1 (16)
2 (5)
3 (6)
4 (12)
5 (16)
6 (19)
7 (9)
8 (6)
9 (4)
10 (8)
11 (6)
12 (5)
2013 (145)
1 (24)
2 (15)
3 (18)
4 (23)
5 (14)
6 (11)
7 (7)
8 (11)
9 (5)
10 (4)
11 (6)
12 (7)
2012 (103)
1 (1)
2 (1)
3 (4)
4 (3)
5 (7)
6 (26)
7 (17)
8 (5)
9 (8)
10 (10)
11 (11)
12 (10)
2011 (54)
1 (4)
3 (7)
4 (4)
5 (14)
6 (6)
7 (3)
8 (3)
9 (1)
10 (4)
11 (2)
12 (6)
2010 (70)
1 (12)
2 (7)
3 (6)
4 (6)
5 (3)
6 (10)
7 (6)
8 (4)
9 (3)
10 (4)
11 (3)
12 (6)
2009 (144)
1 (15)
2 (12)
3 (12)
4 (6)
5 (15)
6 (6)
7 (10)
8 (9)
9 (17)
10 (12)
11 (14)
12 (16)
2008 (148)
1 (10)
2 (6)
3 (10)
4 (11)
5 (13)
6 (10)
7 (13)
8 (19)
9 (18)
10 (12)
11 (13)
12 (13)
2007 (106)
1 (7)
2 (5)
3 (3)
4 (7)
5 (5)
6 (9)
7 (8)
8 (13)
9 (18)
10 (11)
11 (8)
12 (12)
2006 (158)
1 (28)
2 (28)
3 (25)
4 (7)
5 (9)
6 (7)
7 (12)
8 (13)
9 (10)
10 (7)
11 (6)
12 (6)
2005 (350)
1 (31)
2 (26)
3 (26)
4 (27)
5 (29)
6 (30)
7 (32)
8 (30)
9 (30)
10 (32)
11 (29)
12 (28)
2004 (292)
1 (24)
2 (24)
3 (29)
4 (27)
5 (28)
6 (25)
7 (26)
8 (24)
9 (12)
10 (19)
11 (26)
12 (28)
2003 (318)
1 (22)
2 (25)
3 (21)
4 (28)
5 (28)
6 (28)
7 (28)
8 (29)
9 (26)
10 (29)
11 (28)
12 (26)
2002 (317)
1 (29)
2 (26)
3 (26)
4 (25)
5 (28)
6 (30)
7 (27)
8 (21)
9 (25)
10 (27)
11 (28)
12 (25)
2001 (277)
1 (17)
2 (21)
3 (23)
4 (20)
5 (31)
6 (18)
7 (26)
8 (25)
9 (29)
10 (19)
11 (24)
12 (24)
2000 (53)
6 (9)
7 (4)
8 (2)
9 (3)
10 (1)
11 (15)
12 (19)
1999 (3)
7 (1)
10 (2)
1998 (18)
9 (9)
10 (7)
11 (2)