「csv」を含む日記 RSS

はてなキーワード: csvとは

2022-08-13

anond:20220813223721

書式なしテキストとして貼り付け

csvを読み込んで~、該当列を指定してsumifs関数を使ったんですけど~、0になるんですよ~」

新人エクセルの使い方を隣の席の同僚に聞いているようだった

「ああ、たぶん金額のところがテキストになっているから、csvを読み込みなおして、数値に変換するか、クエリ自体コピペして別のシートに書式なしテキストとして張り付けて、該当行をvalue関数で変換してからsumifsをつかってやるといいよ」

わたしは聞くに堪えないと思い、説明している最中の同僚の胸倉をつかみ、頬を2回叩いた

「round関数が~」、「マクロで~」、「ピボットを~」、それでも同僚は話すのを止めないので、同僚の髪の後ろの主電源を切ったのち、電源を入れなおす

蛍光灯が明滅し、セミの鳴き声が逆再生され、私の思考も溶けていく

「あたいが読み込まれる~」と新人がつまんねえことを言いながら窓を突き破り、宙へ飲み込まれていく

世界再起動され、0と1が書き込まれ新世界想像されていく

わたしは消えゆく思考の中で願った

次の世界薄っぺらい有体の駄文を切ってつないで張り付けたような世界でないことを

※お題からエクセルしかかばなかった

2022-08-01

anond:20220731183342

自動安価をつけて返信するプログラムでもこんなに長く複雑になる(一部抜粋) 

/**************************************

以下のCSV_DIR, FILE_PATHS, SETTINGSを書き換えてね。 <h3>o- *************************************/</h3>

//CSVファイルが置かれてるディレクトリパス投稿前にエラー出たら大体ここの設定ミス。 例:"C:\\Users\\sakuraimasahiro\\Documents\\iMacros\\Macros\\rentou\\";

const CSV_DIR =

'C:\\Users\\USER\\Desktop\\iMacros\\Macros\\rentou\\';

//ファイルパスCSV絶対パスで、拡張子必要。iimは相対パスでよく、拡張子不要

const FILE_PATHS = {

//投稿文が書かれたCSVファイル

textCsv: CSV_DIR + 'textNoAnker.csv',

//レス投稿文が書かれたCSV。通常とレス用で分けないなら同じファイルを使えばいい。

replyTextCsv: CSV_DIR + 'textReply.csv',

};

const SETTINGS = {

//投稿後の基本待ち時間

baseWaitTime: 5,

//baseWaitTime+0~waitTimeRange(ランダム)だけ待つ

waitTimeRange: 5,

//連投しすぎだと忠告された場合に処理を一時停止させる時間(秒)

waitTimeForAvoidingPunishment: 60 * 30,

//メール

mail: 'sage',

//名前設定

nameSettings: {

//名前名無しなら''。

name: '',

//以下、偽装ワッチョイ設定。浪人ワッチョイを非表示にしてるときだけtrueにしてね。

//妙なニックネーム(ワッチョイ、アウアウウーなど)をランダムで決めて付加するかどうか。true=付加する。false=付加しない。

nickname: false,

//妙なニックネームの後に付く8桁の文字列ランダムで決めて付加するかどうか。

korokoro: false,

//IPランダムで決めて付加するかどうか。

ip: false,

//地域ランダムで決めて付加するかどうか。

area: false,

},

postSettings: {

//アンカー無し投稿をするならtrue。しないならfalse。noAnkerPostかreplyPostのどちらかはtrueにすること(両方trueでもOK)。

noAnkerPost: false,

//アンカー付き投稿(返信)をするならtrue。しないならfalse。もしnoAnkerPostとreplyPostの両方がtrue場合投稿は返信が優先され、返信対象が見つからなくなったらアンカー無し投稿をする。

replyPost: true,

//最初に取得するアンカー無し投稿CSVファイルの行番号。もし返信用と同じCSVファイルを使うなら-1と入力

noAnkerPostTextCsvStartRow: 1,

//最初に取得する返信用投稿CSVファイルの行番号。もしアンカー無しと同じCSVファイルを使うなら-1と入力

replyPostTextCsvStartRow: 1,

//テキストCSV/返信用テキストCSVの取得行が最終行に達したら最初の行まで戻るかどうか。true=戻る。false=マクロ終了。

textCsvLoop: true,

//返信する場合、これより小さなレス番には返信しない。返信を投稿すると、この数値は前回の返信先のレス番に更新される。

minAnker: 895,

//返信する場合名前に以下の文字列を含む投稿アンカーをつけて返信する(ワッチョイやIPなど名前フィールドにあるものならなんでも可)。配列複数指定可能指定無しなら空配列([])。filterNamesとfilterNamesNotIncluded共に無指定ならレス番1から順に返信していく(minAnkerが設定されてればそこから順に)。以下のfilter系は全て併用可能

filterNames: [],

//↑とは逆に、名前に以下の文字列を含まない投稿アンカーをつけて返信する。↑と併用も可能

filterNamesNotIncluded: [],

//返信する場合、本文に以下の文字列を含む投稿アンカーをつけて返信する。

filterText: ['自演かな', '自演わらわら', 'スクリプト使うの', '安価ガバ', '>>660', '自演擁護', '最後' ,'あいうえお', 'かきくけこ', 'さしすせそ', 'なにぬねの', 'はひふへほ', 'まみむめも', 'やいゆえよ', 'やゆよ', 'らりるれろ', 'わいうえを', 'わをん', 'わいうえをん'],

},

//自分IPアドレス確認VPNとかでIPを変更してマクロを動かしてるとき、突然VPN作動しなくなってIPが元に戻ったときマクロを止めるためのもの

ipSettings: {

//自分現在IPアドレス確認をする。

checkIp: true,

//以下の文字列自分現在IPアドレスに含まれている場合マクロを一時停止する。基本的自分の本当のIPアドレス入力

avoidTheIp: '133.206.99.224',

},

//浪人設定。最後動作確認したのは5年くらい前で、今も同じように動作するかは、浪人を持ってないか確認できずわからない。

roninSettings: {

//浪人ログインしてるかどうかをチェックするかどうか。trueらするfalseならしない。trueにしていてもし浪人ログインしていないことを確認したらログインしにいく。

checkLogin: false,

//浪人ログインメールアドレス

mailAdress: 'abc@def.com',

//浪人ログインパスワード

password: '1234',

},

//false: run()実行させず(デバッグ用)

run: true,

//true: 投稿処理だけしない デバッグ

skipPost: false,

};

/**************************************

設定箇所終わり。

書き込めない時の早見表 - 5ちゃんねるwiki

https://info.5ch.net/index.php/%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%81%E3%81%AA%E3%81%84%E6%99%82%E3%81%AE%E6%97%A9%E8%A6%8B%E8%A1%A8 <h3>o- *************************************/</h3>

/**************************************

メモ

クラスフィールド宣言できない。

・NULL演算子(??)は使えない。論理積(&&)は使える。

オブジェクトの分割代入はできない。

・importはできない。 <h3>o- *************************************/</h3>

/**************************************

関数 <h3>o- *************************************/</h3>

/**

* ここから始まる。

*/

function run() {

//設定ミスがないか調べる。

checkSettings();

var _TextCsvCursors = new TextCsvCursors(

new TextCsvCursor(

SETTINGS.postSettings.noAnkerPostTextCsvStartRow > 0

? SETTINGS.postSettings.noAnkerPostTextCsvStartRow - 1

: SETTINGS.postSettings.noAnkerPostTextCsvStartRow,

FILE_PATHS.textCsv,

SETTINGS.postSettings.textCsvLoop,

),

new TextCsvCursor(

SETTINGS.postSettings.replyPostTextCsvStartRow > 0

? SETTINGS.postSettings.replyPostTextCsvStartRow - 1

: SETTINGS.postSettings.replyPostTextCsvStartRow,

FILE_PATHS.replyTextCsv,

SETTINGS.postSettings.textCsvLoop,

),

);

var _LoopStatuses = new LoopStatuses(0, SETTINGS.postSettings.minAnker);

const _MyPosterName = new MyPosterName({

name: SETTINGS.nameSettings.name,

});

//スレURL指定

const _ThreadUrl = openPromptThreadUrl();

//ループ

while (true) {

//IP確認する設定なら、それをする。

SETTINGS.ipSettings.checkIp && checkCurrentIpNotTheIp();

//スレを開く

openUrl(_ThreadUrl.fullUrlHttps());

//浪人ログインする設定なら、浪人ログインしているかどうかを確認し、していなければログインしにいく。

if (SETTINGS.roninSettings.checkLogin) {

if (!checkRoninLogin()) {

loginRonin();

continue;

}

}

//投稿に使うテキスト取得。

const p = (function () {

if (SETTINGS.postSettings.replyPost) {

//返信あり設定の場合。返信対象が無いか調べる。

const targetAnkerNumber = createPostDOMList()

.filterPostnumberHigher(_LoopStatuses.currentMinAnker())

.filterByPostername(SETTINGS.postSettings.filterNames)

.filterByPosternameNotIncluded(

SETTINGS.postSettings.filterNamesNotIncluded,

)

.filterByText(SETTINGS.postSettings.filterText)

.lowestPostNumber();

if (targetAnkerNumber !== null) {

//返信対象があったのでアンカー付き投稿文を作る。

const r = _TextCsvCursors.takeNextRowTextAsReply(targetAnkerNumber);

messageDisplay(`返信対象有り。アンカー先: ${targetAnkerNumber}`);

return {

...r,

updatedLoopStatuses:

_LoopStatuses.updateMinAnker(targetAnkerNumber),

};

}

}

if (SETTINGS.postSettings.noAnkerPost) {

//返信対象無し、或いは返信しない設定の場合アンカー無し投稿文を作る。

const r = _TextCsvCursors.takeNextRowTextAsNoAnker();

messageDisplay('返信対象無し。アンカー無し投稿。');

return {

...r,

updatedLoopStatuses: _LoopStatuses,

};

}

return null;

})();

if (p) {

//投稿

postThenCheckError(

_ThreadUrl.serverName(),

_MyPosterName.randomize({

nickname: SETTINGS.nameSettings.nickname,

korokoro: SETTINGS.nameSettings.korokoro,

ip: SETTINGS.nameSettings.ip,

area: SETTINGS.nameSettings.area,

}),

SETTINGS.mail,

p.text,

);

//_TextCsvCursorsと_LoopStatusesを更新

_TextCsvCursors = p.updatedTextCsvCursors;

_LoopStatuses = p.updatedLoopStatuses.incrementPostCount();

messageDisplay([

`投稿回数: ${_LoopStatuses.currentPostCount()}`,

`minAnker: ${_LoopStatuses.currentMinAnker()}`,

`今回アンカー無し投稿取得行: ${_TextCsvCursors.currentRows().noAnker}`,

`今回アンカー有り投稿取得行: ${_TextCsvCursors.currentRows().reply}`,

]);

} else {

messageDisplay([

`返信対象が現われるのを待機中...。`,

`投稿回数: ${_LoopStatuses.currentPostCount()}`,

`minAnker: ${_LoopStatuses.currentMinAnker()}`,

`今回アンカー無し投稿取得行: ${_TextCsvCursors.currentRows().noAnker}`,

`今回アンカー有り投稿取得行: ${_TextCsvCursors.currentRows().reply}`,

]);

}

//短時間で連投しまくると規制されるので一定時間待機。

wait(SETTINGS.baseWaitTime + randomRange(0, SETTINGS.waitTimeRange));

}

}

/**

* 投稿処理と投稿結果を見てリトライしたりマクロ終了したり。

* @param {string} serverName サーバー

* @param {MyPosterName} _MyPosterName

* @param {string} postMail メール

* @param {MyText} _MyText

* @param {number} retryTimes

* @returns {void}}

*/

function postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes = 0,

) {

const r =

retryTimes === 0

? new ValuesOfPost(serverName, _MyPosterName, postMail, _MyText).post(

postTo5chTread,

postConfirm,

)

: new ValuesOfPost(

serverName,

_MyPosterName,

postMail,

_MyText,

).postSubstring(retryTimes, postTo5chTread, postConfirm);

if (r) {

back();

return;

}

//エラーページに飛ばされた。エラー情報取得。

wait(7);

const error = createPostErrorMessage().analyze();

messageDisplay(error.message);

if (error.order === 'KILL') {

kill();

} else if (error.order === 'SKIP') {

return;

} else if (error.order === 'TRUNCATE') {

back();

return postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes + 1,

);

} else if (error.order === 'WAIT') {

wait(SETTINGS.waitTimeForAvoidingPunishment);

return postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes,

);

} else if (error.order === 'LOGIN') {

//動作未確認

return postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes,

);

}

return;

}

/**

* 現在IPアドレスに、SETTINGS.ipSettings.avoidTheIpの値が含まれていないことを確認する。含まれていたらマクロを一時停止。

* @returns

*/

function checkCurrentIpNotTheIp() {

//IP確認ページへ飛ぶ

openUrl('https://www.cman.jp/network/support/go_access.cgi');

const _IpAdress = createIpAdressFromCMan();

if (_IpAdress.includes(SETTINGS.ipSettings.avoidTheIp)) {

pause('現在IP指定した値が含まれていることを確認。');

//ポーズ解除したならもう一度確認しに。

checkCurrentIpNotTheIp();

}

return;

}

/**

* 設定に致命的な問題が無いか検査

* @returns

*/

function checkSettings() {

if (

SETTINGS.postSettings.noAnkerPost === false &&

SETTINGS.postSettings.replyPost === false

) {

return kill('設定エラー。noAnkerPostとreplyPost両方ともfalseになってる。');

}

if (

SETTINGS.postSettings.noAnkerPostTextCsvStartRow < 0 &&

SETTINGS.postSettings.replyPostTextCsvStartRow < 0

) {

return kill(

'設定エラー。noAnkerPostTextCsvStartRowとreplyPostTextCsvStartRow両方とも-1になってる。',

);

}

if (

SETTINGS.postSettings.noAnkerPostTextCsvStartRow === 0 ||

SETTINGS.postSettings.replyPostTextCsvStartRow === 0

) {

return kill(

'設定エラー。noAnkerPostTextCsvStartRow/replyPostTextCsvStartRowの初期値は-1或いは1以上で。',

);

}

}

/**

* 入力フォームを表示して入力されたスレURLを受け取る。

* @returns {ThreadUrl}

*/

function openPromptThreadUrl() {

const url = prompt('スレURL入力');

return new ThreadUrl(url);

}

/**

* 開いてるスレレス全て読み取ってPostListインスタンスを作って返す。

* 重すぎるので使うのやめ。どうやらインスタンスの大量生成が原因な模様。

* createPostDOMListを使う。

* @returns {PostList}

*/

function createPostList() {

const posts = window.document.getElementsByClassName('post');

return new PostList(Array.from(posts).map((e) => new Post(e)));

}

/**

* 開いてるスレレス全て取得してPostDOMListに格納して返す。

* @returns

*/

function createPostDOMList() {

const posts = window.document.getElementsByClassName('post');

var arrPostDOMList = [];

for (let index = 0; index < posts.length; index++) {

//HTMLCollectionからElementを1つずつ抽出して配列に。

arrPostDOMList.push(posts.item(index));

}

return new PostDOMList(arrPostDOMList);

}

/**

* 開いてる投稿結果画面に表示されてるエラーを読み取ってPostErrorMessageインスタンスを作って返す。

* @returns {PostErrorMessage}

*/

function createPostErrorMessage() {

return new PostErrorMessage(

window.document

.g Permalink | 記事への反応(0) | 15:40

anond:20220801094651

海外ではExcelはほぼCSVとピボットテーブルだけで使ってるところも多いよな

無意味だと分かってるからゴテゴテ装飾しない

2022-06-14

anond:20220614154214

増田に大きめのテーブルを書き込むときにいったんExcelで作ってCSV形式で出力して,を|に置き換えとるやで

2022-06-02

業務システム開発する時によく必要になる機能

他にもあるのだろうか。

2022-04-04

今日仕事中こっそりプログラミング課題解いた

まあ本職なんだけど転職先がgo使うらしいか基本的操作に慣れておくようにいろいろ触ってる


↑作った

これくらいのレベルの奴もうちょっとくれ

2022-03-22

anond:20220322043456

csvファイルパースして、ソートで並び替えたcsvを新しいファイルに出力する

csvファイルの項目数、行数、ファイルサイズDB登録する。

csvファイルzip圧縮して、ウェブサイトにPOSTでアップロードする。

UI作成して、csvファイル編集できるようにする。

その際、ユーザ入力したパスワードファイル暗号化して保存できるようにする。

・・・みたく、自分が思いつくタスクを処理するプログラムをちまちま書いてみては?

2022-03-15

ここでCSVエディタとか発表してたひと

割と犯罪臭がした

2022-03-14

ブログランキング・新着記事フィルタ(拡張機能)作った

anond:20180609124213

ブログフィルタ - Chrome ウェブストア

https://chrome.google.com/webstore/detail/%E3%83%96%E3%83%AD%E3%82%B0%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF/ljnpbbominfcpmeibilmpombbijelmfn?hl=ja

ブログフィルタ – 🦊 Firefox (ja)

https://addons.mozilla.org/ja/firefox/addon/%E3%83%96%E3%83%AD%E3%82%B0%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF/

github

https://github.com/lvnkae/blog-collection-filter

概要

機能

使い方

基本設定
詳細設定

ブログURLミュート詳細設定

設定済みURLダブルクリックで詳細設定へ

 ・ブログ固有の非表示ワード設定

   絵日記ブログに突然現れる、創作実話漫画は見たくない

   PR記事回避したい

  など。

ワードミュートの詳細設定

 単語の頭に <> を付けると正規表現ON

 例)

  <>宇佐美 *定満

   宇佐美定満

   宇佐美 定満

   宇佐美 定満

   宇佐美  定満

  等、姓名間にスペースが0個以上ある定満はを含むツイートを削除

設定の簡易出力(export)/入力(import)

[対象サイト]

URL概要
https://blog.livedoor.com/ランキングブログ速報、カテゴリ編集部の「推し」、おすすめブログブログ速報
https://https://blog.with2.net/ranking/ランキング、新着記事
https://*,blogmura.com/ランキング

結果

各種ランキングからまとめサイトコンビニ漫画系(嫁姑DV、サレが云々)が消えてスッキリ

動機

twitterがどんどん改悪されてブログ更新が追いにくい

しかランキングサイトまとめサイト汚染されていたのだった

技術

ManifestV3

あとがき

今どきはLINE登録してスマホからブログ見るのが主流と聞き、需要は少なそうですがゼロでもないはず、と思い公開することにしました。amebloのことは忘れましょう。

アップデート予定

あれば

はてなNG代替品(はてぶフィルタ)とYoutubeフィルタにも簡易export/import機能を入れたい気持ち

2022-03-01

anond:20220301112413

CSVエクセルじゃなくて他のソフトで開いて解析できるようになるのも能力だよ

統計ソフトにぶち込めば簡単じゃないか

研究で使うようなマイナーな物・ソフトWebで見つけられない

データを取るのに再現性や精度がでないというのはわかっていても、

解決するための装置やら消耗品やらが、市販されているかどうかわからないことがある。

他の人の論文に載っていれば手っ取り早いが、そうではないこともある。


装置だとデータは取れるがバイナリデータフォーマットがわからないとか、

CSVで吐き出せはするがファイルサイズが大きくなりすぎて扱いにくいとか、

エクセルなどでは上限に引っかかって開くことすらできないとか、

解きたいテーマとは違う部分でひっかかることも多い。


こういうのもリサーチ能力なのだろうが、よく見つけられるよなと感心してしまう。

2022-02-27

anond:20220227164150

JSONは一行のレコードの中にいくらでも多次元配列入れれるってところが大きいかなぁ。CSVじゃその表現は無理だろうし

anond:20220227162851

データ処理でたまにたびたび出てくるけどJSONってどう扱うの?

CSVとの違いがわからん

anond:20220227162101

「大量に出てくる測定装置から吐き出されるデータ」の形式はどういうものなのかな

例えばCSVとかJSONとかのテキストファイルなら、だいたいどの言語でもなんとかする方法はあると思う

私も「9条があれば日本平和」と言っていたリベラルを屏風から出す

anond:20220226125515

2022/2/28少し追記

なんか急にリベラル様が「私達は9条があれば平和は守れるなんて言ってない! 9条日本を縛るためのものと言ったことはあるけど!」「だから侵略させないためには、別に手を尽くす必要がある」と言っている。

日本で最高の知能が集まるリベラル様が間違いを言ってるはずがないので、自分記憶が間違ってないか調べてみることにした。一般人から政党まで、いろいろとね。

 という風に元増田引用されたのが例えばこんな文章だった。

 また、憲法九条は、紛争平和的に解決するという考えを、多くの国民に定着させてきました。こうして、他国軍事介入しない、紛争の原因をつくらないということが、他国による日本侵略の要因をつくらず、平和を守ることにつながってきました。

 このレベルの例なら私にも出せる。しかもこんな小粒ではなく大量に、だ!これを見ればリベラルもも黙るだろう。

11憲法第9条は、戦争放棄し、戦力を持たないことを決めていますあなたは、この第9条は、日本平和安全に、どの程度役に立っているとお考えですか。リストの中からお答えください。

1.非常に役に立っている 29.4%

2.ある程度役に立っている 52.6%

3.あまり役に立っていない 11.1%

4.まったく役に立っていない 2.3%

5.わからない、無回答 4.7%

NHK「『日本人と憲法2017』調査」 ※PDF

 そう、何とNHKによれば日本人の8割もが憲法9条日本平和安全資すると答えているのである

 どうだリベラルどもよ、これを見てもまだ9条平和に役立つと言ったことがないなんて言えるか?言った人がいたとしても少数だなんて言えるか?国民の8割とはマイノリティーなのか?マジョリティーもマジョリティーなのである

 そして今明かされる衝撃の真実!大多数の日本人はお花畑リベラルかお花畑リベラル洗脳された愚民だったんだよッッッッ!

 おっといけない愚民なんて言葉選民思想リベラル様の専売特許だったのであった。しかしまあなんて由々しき事態なんだ…。

 日本国際社会で、主としてどのような役割を果たすべきか聞いたところ、「環境地球温暖化感染症対策を含む保健などの地球規模の課題解決への貢献」を挙げた者の割合が63.9%、「人的支援を含んだ、地域情勢の安定や紛争平和解決に向けた取組を通じた国際平和への貢献」を挙げた者の割合が59.2%と高く、以下、「軍縮・不拡散の取組などを通じた世界平和と安定への貢献」(41.2%)、

外交に関する世論調査 2 調査結果の概要 6 - 内閣府

 昨年度の内閣府調査を見れば国民もの思想垣間見ることができる。4割が軍縮・不拡散を行うのが日本役割だと述べているのだ。この夢想家どもがッッッ!

 ちなみにCSVデータを見ると一番軍縮云々に賛同しなかったのは30代で26.1%しか賛同していない。次が18-29歳の37.3%なのでここだけ異様に低いのが分かる。不思議だね。

ちょっと冷静になる

 いや、ちょっと待ってほしい。「9条日本平和に役立っている」と主張したからといって「9条があれば日本平和」と言ったことにならないはずだ。「他国軍事介入しない、紛争の原因をつくらないということが、他国による日本侵略の要因をつくらず、平和を守ることにつながってきました」という文章を読んで「わあ、9条があれば侵略されることはないんだね!」と読解する人間はさすがにおるまい。確かに共産党は近いことを言ったこともあった気がしないでもないがこの文章だけではそうとは捉えられない。意外なことに原文を読んでも「他国軍事介入しない」とは他国戦争自衛隊派遣して怨みを買わない、「紛争の原因をつくらない」とは武器輸出をすることでイラクのような平和を脅かす集団を作るということをしてないという意味で、結果侵略される要因を作ることにならないため平和資するのだといった程度のことしか書いていないのである

 実際NHK同調査でも次のような質問がある。

第13問 あなたは、現在世界の情勢から考えて、日本戦争紛争に巻き込まれたり、他国から侵略を受けたりする危険性がどの程度あると思いますか。リストの中からお答えください。

1.非常に危険がある 24.0%

2.ある程度危険がある 63.1%

3.あまり危険はない 10.4%

4.まったく危険はない 0.5%

5.わからない、無回答 1.9%

 このように国民の8割が9条日本平和に役立っている一方で、国民ほとんどは侵略される危険性があると考えているわけだ。少なくとも国民大多数の中ではこの2つが両立しているということが論理必然的に分かる。

 「9条平和に役立つ」は「9条があれば侵略されない」ではない。データから国民全体の傾向として言えるのは「9条平和に全く役立たないという意見の持ち主は限りなく少数派」、「多数派9条平和資するがそれで侵略されないとも思っていない」といったところだろう。まあ相手の主張を0か1かで考えるのは楽だが、わりとこんな感じで程度問題だったりもする。9条日本を守ってきてくれた」と言う人に「どれくらい役に立ったの?」と聞いて「100%」と返ってくるかは微妙なところだ。そういうものである

 一応補足しておくと今同じ世論調査をすれば「9条平和に役立っていない」と答える人が増えるのではないだろうか。この2017年調査にはやはり集団的自衛権を巡る数々の議論があり「戦争に巻き込まれ可能性」が俎上に上がった余波が残っていると見るべきだし、その前に行われた2002年調査イラク戦争直前でテロ特措法が成立するなど既存法体系対処できるか心配された時代であった。実際、同調査では2002年の方が2017年よりも憲法改正賛成派が多く、また9条平和に役立つと答えている人も少なめであるウクライナ侵略が行われている今であれば恐らく2002年調査に寄るかそれ以上に変動するかもしれない。国民世論と秋の空でただですら世論はぶれまくるのに出来事1つで更に右往左往するものだ。これは何があってもそこまで政治信条をあまり大きく動かさない我々政治厨が見逃す点で大抵国民世論に確固たる思想信条の基盤があると”必要以上”に考えがちだ。

 ところでこれ1974,1992,2002,2017と調査が行われているのだが9条平和に役立っていないと答えた人は1974年が一番多いのはちょっと面白くないですか?

余談

 個人的意見を言えば、9条に全く平和資するところがないとは思ってはいない。自衛隊派遣を巡って毎度国会が空転しているのを見れば軍事を増強しても他国視点だと侵略してくるとはあまり思えないというのはあるんじゃないか専門家ぽく言うと安全保障のジレンマを軽減する信頼醸成措置的な何かになる要素はあるんじゃなかろうか。安全保障のジレンマは元々はリアリズム国際政治学の学派の名前一般的意味とは異なる)が言ってたことで、信頼醸成措置は第二次安倍政権が作った「平成26年度以降に係る防衛計画の大綱」でも使われている言葉から言葉としては存在するけど使い方が合ってるかは知らん。

 なおデータで言えば一般抑止は計量するのが難しいので何とも言えないが、明日にでも戦争が始まりそうな状態から戦争をやめさせるという緊急抑止については統計分析存在する。当然9条データなんて存在しないのだが、軍事同盟については緊急抑止についてのデータ存在する。代表例はHuthの研究なのだが何と相関関係マイナスである…。まあこれは選択問題とか色々な理由一般抑止はあるんじゃねっていうのは言われている。データ証明できてないじゃんwwお気持ち乙wwという世界ではないからね。

 それ自体はどうでも良いのだが、同時に緊急抑止に関係あるのは長期の軍事力ではなく短期軍事力だという分析結果もある(一般抑止は分らんが)。日本ではあまり聞かない議論なんだけど闇雲に軍事軍事力言うよりその辺何が抑止に効果的なのかとかもうちょっと表で議論されてほしいんですけどね。

 抑止とは、費用危険が期待する結果を上回ると敵対者に思わせることにより、自分利益に反する行動を敵対者にとらせないようにする努力である。したがって合理的敵対者に対してのみ働き得る機能である

出典:中山隆志「軍事力の概念防衛大学校防衛学研究会編『軍事学入門』第2版、かや書房2012年、p.19。

 最後に1つだけ。引用した『軍事学入門』は軍事に詳しくリアリスト国際政治学の学派の名前ではなく一般的意味と同じ)であれば必ず通った書物だ(過言)。ちなみに自分軍事通でもリアリストでもないダメ人間なのだが。読むと至極当然の抑止についての説明が書いてありますね?ところが最近議論を見ているとこの当たり前の話を忘れてないか…という人がいる気もしないでもないのでここで紹介しておく。

 もちろん「合理的」のニュアンスが難しいところだとは思うが。行動経済学人間は非合理という話をした時、既存経済学の「合理性」を拡張すれば対処できるものもあるよねって話になったりもしたんよね。その意味でこの「合理的」を「プーチン戦争を起こす際に損得勘定もできないアホバカタンナス!だから軍事抑止力意味ないんだ😭」って話にできるかは別の話。

2022-02-20

anond:20220220130935

関数スクリプトレイアウトなどでがっつりとデータを扱う場合にはあまり適していないけど、それなりにそこそこならばCSV+かなと思ってる。

https://www.plus-one.tech/csv-plus/

anond:20220220125354

あれってそんなにいいもんなのか。

かにスプレッドシートもっさりからローカルサクサク動かしたいのはよく分かる。

そしてそれはExcelや同等の重戦車クラスソフトでは実現できないのもそのとおりだと思う(スプレッドシートの方がマシ)。

CSVに特化したフリーソフトはいくつかあるし、VSCode拡張もあるけど、どれもちょっと違うってのもこれまた分かる。

いいのないかなあ。

2022-02-12

左右盲エレベーターボタンCSVミソジニー

・右と左ってどっちがどっちだっけ?

エレベーターボタンって<|> と >|< どっちが開くだっけ?

カン区切りファイルって CVSCSV どっちだっけ?

は全く問題ないんだけど、

女性嫌悪するのって ミソジニーミサンドリー どっちだっけ?

は一瞬考えないと正しく確信を持てない。

Wikipedia語源から覚えようと思ったんだけど

ミソジニー (英: misogyny) は、ギリシア語の「μῖσος mîsos嫌悪、憎しみ)」と「γυνή gunḗ(女性)」に由来する。

ミサンドリー(英: misandry)とは、語源ギリシャ語で、“憎悪”(希: μῖσος、mísos)と“男”(希: ἀνδρός、andrós)から

https://ja.wikipedia.org/wiki/%E3%83%9F%E3%82%BD%E3%82%B8%E3%83%8B%E3%83%BC

https://ja.wikipedia.org/wiki/%E3%83%9F%E3%82%B5%E3%83%B3%E3%83%89%E3%83%AA%E3%83%BC

gunḗ (ジニー)が女性というのがピンとこなくて、むしろアラジンジーニーを連想して余計に混乱する。

andrós(アンドリー)→アンドリュー→男性名男性→misos男性男性嫌悪する→ミサンドリー男性嫌悪ミソジニーはその逆だから女性嫌悪

と考えないと正解できない。

みんなはパッと見で分かるのかな?

anond:20220212052434

2022-02-09

零細企業最強のバックアップ

anond:20220209074916

と思ってバックアップ運用中!



これが費用も安くて故障したときバックアップNAS をメインに切り替えたら、わりとすぐ復旧できる。

一旦 USB 経由してるのは NAS転送速度が遅いからで、うちの場合ネットワークの速度が 10MB/sec ぐらいしか出ん(勘違いでした 50MB/sec 以上は出てました)。

テラ級の NASかになると、一晩じゃ絶対戻りきれないので、

運用しながらバックアップしながら復旧するのに、やっぱり2週間はかかる。

幸い障害時に一番に復旧させる必要な箇所のデータCSV とかなので、先にそこのデータだけ復旧させたら、

利用優先順位の高いフォルダから戻していく、

あとはなんとか運用しながら復旧できる。

とりあえず大事データNAS に入れろ!って言うのを周知。

個々のパソコンが壊れたら、

物理的に取り出して、USB 接続させてサルベージできるので、そこはあんまり困ってない。

RAID も考えてるけど、箱が壊れたとき面倒なので、

(だったら RAID も同じ機器2台買って二重にしたいタチ)

取り回しのしやすUSB HDD複数で多重バックアップさせておけば OK と思ってる。

NASHDDWindowsマウント出来ないので一度 Linux 経由でマウントさせてサルベージさせてみようと思ったけど、差分とかどうやって取り出したらいいのか分からなかったし Linux 自信ないので難しかった。

それを踏まえると NAS が壊れたらややこしいので NASバックアップ必須

困るのが

世代バックアップが出来ないぐらい(あんまりそんな問い合わせもないけど)

世代ごとにリッチNAS があればいいんだけど。

から Mac の TimeMachine は個人あんバックアップシステム変態すぎる。

あいうのを業務でもできたらなーと思う。

BuffaloNAS は電源を付けたり消したりしているとすぐ壊れるので、24時間ずっと付けっぱなしの方が壊れない。

Buffalo の昔のファン付き NASファンが壊れたらどうしようもなかったので、苦情も多かっただろう(ファン交換部品オプションであったしね)、いま BuffaloNAS はほぼファンレスなので耐久性も抜群に上がってきている)

あと BuffaloNAS は機種によって勝手画像サムネイルを生成してしまう余計な機能がある NAS があるので、そう言った機能がないのがプレーンに使えてよい。

LS510DG や LS210DG など 510 210 の桁の品番が、そう言った余計な機能がない品番になる。

会社で使う分には勝手に色々なファイルを生成されるとバックアップに支障をきたすので、そう言った機能がない方がよい。

零細企業と言えども

NAS 4台もあるし、それにともなう USB 接続HDD必然的に多くなる。

センチュリーの多段 HDD ケースはもちろん利用。

この理屈運用すると NAS の倍の USB HDD必要になる、実際にそうしてるけど。

今余裕がないので予備の NAS でのバックアップが出来てないけど、まあなんとかなるか。って感じ。

最後に使ってるソフトフリーソフト

「DiskMirroringTool Unicode版」のみ

この Unicode版じゃないと中国語フォントなど文字によってバックアップ対象から外れてしまうし、4GB 以上のファイルバックアップ出来ないので、

Unicode版な。

日々は業務終わって夜に差分バックアップをする運用OK

データは大切!これを分かってくれる人は意外と少ない。

楽しいバックアップ運用をやっていきたいもんだw

2021-12-31

[]

あるリポジトリルートにぶら下がっている多数のファイル群を整理し、部分的Wiki化することを進めている。

少しだけ進んだ。三つのファイルを消去し、Wiki化した。CSVファイルWiki化するときすごく気が咎める。

これは何とかならんものか?もちろんオンラインでもCSVをGFMテーブルに変換できるけど、そこまでするのはなぁ?!

あとGreetingCardというディレクトリ名前いかがなものか? Addressかい名前チェンジし、Mail User Agent

付属CSVファイルもそこに格納することにしたら・・( ^ω^)・・・

IMGというディレクトリがあるようにCSVというのも増設するほうがいいのかな?WikiからCSディレクトリは参照できるし・・・( ^ω^)・・・

2021-12-11

anond:20211211003902

CSVでくれっていうコメントがあるけど、俺の感想はそれに近い

社内でしか公開しないエンジニアしか見ないプロトタイプみたいなもの場合そもそもプロトタイプ目的デザイン完璧さを求めることではないのでjsonでもcsvでもいいかAPIの生情報を見せろということはある

なのでどういうデザインがいいかっていうのはかなり文脈依存問題かもしれない

2021-12-10

Excel文字数を数えるLEN関数ってのがあるんだけど、

CSVデータをあげるときに厳密にバイトで数えたいのに全角は2文字分と数えてくれない。

結局1行1行テキストエディタに貼り付けて文字数が、例えば255バイトに収まるように数えているんだけど、なんかこれってアホらしくない?

21世紀になってセル文字数も数えられないとか、

意外と不便なところがあって、なんとかして欲しい。

それか何か良い方法があればよいが。

2021-12-04

anond:20211204145749

後編

プログラミングを学ぼうと思い立つ

行列VBAなんかじゃ無理っぽいし、なんかプログラミング言語を覚えようと決める。

なんでも、統計やるならRという言語がいいらしい。

最近じゃPythonというのも人気らしい。

とりあえず両方試そうということで、RのためにRとRstudioをインストール

Pythonはanaconda

プログラミングはなんかを製作する目標がないと挫折すると聞いていたので。

深層学習というもの流行ってると聞いて、ちょっと触りを勉強したくなる。

Excelでわかるディープラーニング超入門」

https://www.amazon.co.jp/Excel%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8B%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E8%B6%85%E5%85%A5%E9%96%80-%E6%B6%8C%E4%BA%95-%E8%89%AF%E5%B9%B8/dp/4774194743/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=Excel+%E6%B7%B1%E5%B1%A4%E5%AD%A6%E7%BF%92&qid=1637482610&s=books&sr=1-1

この本は面白かったので、深層学習目標プログラミングを覚えよう!

後になって、これはとんでもない間違いだったことに気づく。深層学習機械学習の違いも判らないまま、RよりPythonを先に触ることに。

教本にしたのはこちら。

ゼロから作るDeep LearningPythonで学ぶディープラーニング理論実装

https://www.amazon.co.jp/%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E4%BD%9C%E3%82%8BDeep-Learning-%E2%80%95Python%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%81%AE%E7%90%86%E8%AB%96%E3%81%A8%E5%AE%9F%E8%A3%85-%E6%96%8E%E8%97%A4-%E5%BA%B7%E6%AF%85/dp/4873117585/ref=pd_lpo_2?pd_rd_i=4873117585&psc=1

途中まではまあなんとか。

微分って便利だな。行列計算できるの便利だなっていうところまでいったが、クラスという概念理解できず、途中からハテナが浮かんで読み進められず。

うん、もうちょっと易しい本を探そうと思って手に取ったのが

「独学プログラマー Python言語の基本から仕事のやり方まで」

https://www.amazon.co.jp/%E7%8B%AC%E5%AD%A6%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC-Python%E8%A8%80%E8%AA%9E%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%8B%E3%82%89%E4%BB%95%E4%BA%8B%E3%81%AE%E3%82%84%E3%82%8A%E6%96%B9%E3%81%BE%E3%81%A7-%E3%82%B3%E3%83%BC%E3%83%AA%E3%83%BC%E3%83%BB%E3%82%A2%E3%83%AB%E3%82%BD%E3%83%95/dp/4822292274/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=1T6BBXYJ16G6T&keywords=%E7%8B%AC%E7%BF%92%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC&qid=1637483073&s=books&sprefix=%E7%8B%AC%E7%BF%92%2Cstripbooks%2C279&sr=1-1

なんとか読了。自信をつける。

しかし、Gitとかbashの章はさっぱり。

実は、いまだにコマンドプロンプトとパワーシェルbashの違いが分かってない。

つづいてPyQに2か月くらい登録してみる。

https://pyq.jp/

とりあえずデータ分析コースを終わらせる。

なかなかPythonが楽しくなってきたが、クラス意味が今一つ掴めないままいったん中断。

この辺で、自分統計に興味があってもプログラミングに興味がないんじゃないかということに気づく。

結局Excelへ戻り、PowerQueryとの出会って、再びPythonとRに回帰した話

なんだかんだもがきながら、PythonもRもモノにならず、日常ちょっとした計算グラフを作ったりはExcelを使い続ける日々が続く。

あるいは、Excelで成形して、検定かけやす形式にしてRで検定するとか。

Rに触れてなかったな、Rは完全に独学。「こんなことやりたいなぁ、ググってみるか、ほうなるほど」って感じ。

そんなさなか、放送大学で「Rで学ぶ確率統計」という講義があるのを知り、さっそく入学して受講。

なかなか面白かったし、PythonばっかりでRあんまり触ってなかったからいい刺激になった。

恥ずかしながら、負の二項分布やガンマ分布ってよう知らんかった。

しかし、講義は楽しかったがなにか書けるようになったかというとそんなことはなく、依然として基本はExcel

まあ、実際csvじゃなく、手書きデータとかをExcelに打ち込んだりする程度なんでPythonやRを使うまでもなかったというのもあるんだけど。

そんなとき出会ったのがこちら、パワークエリというもの

Excelパワーピボット 7つのステップデータ集計・分析を「自動化」する」

https://www.amazon.co.jp/Excel%E3%83%91%E3%83%AF%E3%83%BC%E3%83%94%E3%83%9C%E3%83%83%E3%83%88-7%E3%81%A4%E3%81%AE%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E3%81%A7%E3%83%87%E3%83%BC%E3%82%BF%E9%9B%86%E8%A8%88%E3%83%BB%E5%88%86%E6%9E%90%E3%82%92%E3%80%8C%E8%87%AA%E5%8B%95%E5%8C%96%E3%80%8D%E3%81%99%E3%82%8B%E6%9C%AC-%E9%B7%B9%E5%B0%BE-%E7%A5%A5-ebook/dp/B07SCK1ND9/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=%E3%83%91%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%A8%E3%83%AA&qid=1637483953&s=books&sr=1-2

パワークエリを覚えたらピボット形式Excelファイルとか、セルの結合が多用されたExcelファイルを、成形加工するのが非常に楽になった。

しかも、同じフォーマットで記録されてるデータならフォルダにぶち込んで一気にまとめ上げることも可能

控えめにいって神!

としばらくパワークエリを礼賛してたのだけど、各ステップPythonのpandasやRのdplyrでも出来ることに気づく。というか最初から気づけ。

こりゃ、一気に覚えちまおう、統計というより、データの前処理だなと思ってUdemyでRの動画を買ってみた。

AIエンジニアが教えるRとtidyverseによるデータの前処理講座

https://www.udemy.com/course/r-tidyverse-preprocess/

すっかりR信者になる。

それまで教本を呼んでもdplyrの便利さが今一つわからなかったのに、パワークエリで具体的にモノを作ると、dplyrに翻訳したら、すいすい。スピード10倍。

便利さにようやく気付く。

ハドリーウィッカムって神だな。

そんで、pandasに翻訳したらどうなんだろ?と思ったらもっと速いw

すごいなPython

Rへの入信はたった数週間。再びPythonに興味。

機械学習

さて、ゼロから作るディープラーニングを再開しようと思ったけれども、そもそも機械学習をすっ飛ばし深層学習って無茶だったと反省し、まずは機械学習に。

機械学習エッセンス -実装しながら学ぶPython,数学,アルゴリズム- (Machine Learning)

https://www.amazon.co.jp/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AE%E3%82%A8%E3%83%83%E3%82%BB%E3%83%B3%E3%82%B9-%E5%AE%9F%E8%A3%85%E3%81%97%E3%81%AA%E3%81%8C%E3%82%89%E5%AD%A6%E3%81%B6Python-%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0-Machine-Learning/dp/4797393963/ref=tmm_hrd_swatch_0?_encoding=UTF8&qid=1637485264&sr=1-1

で、この本がすごい。

5章あるんだけど、機械学習アルゴリズムは5章だけなんだなw

それまでは何に割かれてるんだって?数式の証明とか、便利な計算法、例えばニュートン法とかラグランジュ未定乗数法とかw

こんだけ引っ張っておいて、いよいよ本番の第5章もゴリゴリ数式をスクリプトに落とし込んでいってるのに、「これは学習のためでscikit-learnっての使えばたった1行」っていう無慈悲

いや、ほんと数学勉強になったし、こうやってゴリゴリやるとなんのためにクラスというもの存在するのかようやくわかった。

線形代数って便利なんだなと。行列スカラー値のように何の気なしに扱えるようになると、あの頃苦しんでいた実験計画法タグメソッド、今読み直したら別の印象があるんじゃないかなと思うようになったり。

この本を読む途中、「マンガでわかる統計学因子分析編」で学んだことが理解の助けになった。

なんたる僥倖

線形回帰、リッジ回帰SVM、PCA、k-means、クラスター分析、一気に手札が増えた。

ふたたび実験計画法

Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析

https://www.amazon.co.jp/%EF%BC%B0%EF%BD%99%EF%BD%94%EF%BD%88%EF%BD%8F%EF%BD%8E%E3%81%A7%E5%AD%A6%E3%81%B6%E5%AE%9F%E9%A8%93%E8%A8%88%E7%94%BB%E6%B3%95%E5%85%A5%E9%96%80-%E3%83%99%E3%82%A4%E3%82%BA%E6%9C%80%E9%81%A9%E5%8C%96%E3%81%AB%E3%82%88%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E8%A7%A3%E6%9E%90-%EF%BC%AB%EF%BC%B3%E6%83%85%E5%A0%B1%E7%A7%91%E5%AD%A6%E5%B0%82%E9%96%80%E6%9B%B8-%E9%87%91%E5%AD%90%E5%BC%98%E6%98%8C-ebook/dp/B09C89HZRV/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=python+%E5%AE%9F%E9%A8%93%E8%A8%88%E7%94%BB&qid=1637486019&s=books&sr=1-1

実験計画法って、fisherの古典的なやつ、ラテン方格に割り付けて、ってやつかと思ったら、線形代数使えればもうなんでもありなのな。

そこにきて、ベイズ、今まで避けてたのに出会ってしまった!!

結論から言うと、超面白い。

これ、すごいな。

Python万歳

いいのかこんな便利分析個人でやれて。

機械学習実験計画法がここでつながるとか、控えめにいって最高だな。

まだ読了してないので、また後日。

2021-11-19

anond:20211117091937

自分レベル情報処理ではエクセルで充分というか、エクセルよりも大きい処理する必要はないと言いたいのやろ?まあ、データフレームで処理したのを画像化しないで CSVアウトプットさせりゃ良いんちゃうの?

ログイン ユーザー登録
ようこそ ゲスト さん