min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

csv

python3 で xls を csv にサクッと

ランキング参加中プログラミング ハピタス登録で1,000円分になるURL ガソリン価格高すぎだろ 円安のせい。アベノミクスと黒田バズーカのせい。とんでもないもの残して消えやがって。 石油の店頭小売価格がxls形式で提供されている。 www.enecho.meti.go.jp x…

【Excel】フィルタで抽出したデータだけに連番をつける方法

このデータで、血液型がOの人だけに連番を振るにはどうするか。 つまりこうやるにはどうするか。 <手順> まず、血液型Oだけにフィルタする。 その隣の列の一番上に数字の1を振る。 そしたらマウスで1から最後の行までを選択する。 その状態でキーボードの…

CSVに色を付ける(ANSIエスケープシーケンス)その2

CSVの各列に色を付ける。前回の続き。 min117.hatenablog.com 今度は引数にCSVファイルを指定して開けば列数を自動で判定して各列に色をつけてくれるようにした。 こうやって開くと $ ./myCSVcolor2.sh ebooks.csv 列数をカウントして各列への色付け(ANSIエ…

CSVに色を付ける(ANSIエスケープシーケンス)

なんてこった。CSVの各列に色をつけられるらしい。ANSIエスケープシーケンスを使えば可能なようだ。 こうなる。 超わかりやすい。 ソースはこれ。 今後やること ・csvファイル名(ebooks.csv)はソース内に固定で書いちゃってるけど、引数で取れるように改良…

python3 カンマ区切りCSVファイル内の「金額列のカンマ区切り」のみ消し去る

例えばこんな財務データファイルがある。 irbank.net ファイル名はSheet1a.csvで保存。 売上高列に続く数字は "116,861,000,000円 "。 つまり、金額がカンマで区切られてしまっている。これだとCSVの各項目(フィールド)の区切りのカンマなのか金額のカンマ…

python3 のpandasで「上場企業名,当期利益,自己資本」のカンマ区切りcsvファイルを読み込む

前回記事に引き続き上場企業のデータを使ってcsvをいじる。 min117.hatenablog.com カンマ区切りのcsvファイルを読み込んで 「上場企業名,当期利益,自己資本」だけを取り出して カンマ区切りで出力(ファイル名はoutt5.csv)する。 $ cat japan-all-stock-fi…

awk (入力じゃなくて)出力の区切り文字を指定する(カンマ区切りで各フィールドを出力したい)

bash、awk、python3でcsvファイルを自由自在にしたい。都度調べるのがダルいので手に覚えさせる。 サンプルcsvはこれ。上場企業の当期利益と資本金を一覧にしてみる。 hesonogoma.com とりあえずアタマの50件だけダウンロード。 $ cat japan-all-stock-finan…

bash カンマ区切りのcsvを1列目でソートする sort -t, -k1n

bashでカンマ区切りのCSVを1列目でソートしたい。こんなcsv。 こうやる。 $ cat outt3.txt | sort -t, -k1n -t, 区切り文字はカンマ,だよ -k1 キーが1列目である -k1n キーが1列目である かつ それを数字(n)としてソートする genzouw.com こうなる。 末尾…

sed ヘッダ行だけをタテに表示する (Excelの行列を入れ替えて貼り付け)

こんな感じのカンマ区切りのcsvファイルがあったとして $ vim test.csv 1列目(ヘッダ)だけをタテに表示したい。 sedでできた。こうなる。 $ cat test.csv | head -n 1 | sed -e 's/,/\'$'\n/g' 's/,/\'$'\n/g' ではsとgの前後にシングルクオートが要るらし…

csvの任意の列2つをタテヨコにとった散布図scatterを表示するだけのpythonコード

csvの任意の列2つをタテヨコにとったグラフ(散布図)を作るだけのコード。こういうシンプルな機能を揃えたい。 サンプルcsvはこんな感じ。銀行の残高をcsvに出力したもの。 $ cat dpwithdraw.csv コードはこれ。python3。 11〜15行目 csvの列名を取り出して…

matplotlibのグラフ凡例の豆腐文字化けをIPAフォントで解消する → 失敗

jupyterでcsv読み込んでグラフ化したら豆腐文字化けした。 このサイト参考に直す。 qiita.com 調査に使ったpythonコードは3つ。 import matplotlib matplotlib.matplotlib_fname() matplotlib.get_configdir() matplotlib.matplotlib_fname() で表示されるフ…

vim慣れてるとjupyterのpython3環境が楽しい

自分のiMacにはjupyter環境がインストールされてた。たぶん去年このへんの記事を作ったんだと思う(うろ覚え)。 qiita.com 前回使ったPaizaのjupyter環境からダウンロードしたipynbファイルを取り込んだら即使えた。 min117.hatenablog.com 取り込みは簡単…

PaizaCloudのjupyter notebook環境でPython3を利用する

統計をかじり始めた。「何よりまず手を動かす」したいので、すぐに動かせる環境に飛びつく。 PaizaCloudにアカウントを作ってみた。 paiza.cloud 「Webの開発環境構築を挫折したことはありませんか?」 そう。環境作るの時間かかってそれで満足しちゃうのが…

bash 引数の分散を求めるスクリプト

予算の関係で将来の獲得件数の予測を立てる仕事が最近あり。夜中まで大変な思いをしたので、経験したことを形にしておきたい。 本屋に寄ったら「数学は演繹、統計は帰納。アプローチが違う」と書いた本があり。目から鱗な感じ。そうか。予測を立てるには数学…

LINE Pay 平成最後の20%還元で日用品を購入 → 還元額10,097円(予定)

LINE Payが平成最後の超Payトク祭をやっている。今日(2019/4/30 23:59)まで。 linepay.line.me LINE Payで素晴らしいのは、LINE Payカード(物理デビッドカード)で購入した金額も還元対象になること。 しかも今回は還元額が10,000にUPしているところが何…

あるファイル(myData.csv)が作成されたかをモニタリングするWindowsバッチ

// 仕事では Windows7 を使っている。ネットワーク上(NAS)にあるファイル myDATA.csv は、他の部署(の他のシステム)から不定期に吐き出されるので、作成されたかどうかをわざわざ確認しなければならない。 面倒なので、ファイルが存在するかどうか確認す…

vim キャプチャした文字列の一部を使って置き換えるホールドバッファ機能 :%s/\(¥[1-9]\),/\1/g

// カンマ区切りのcsvファイルがある。 金額の区切りもカンマになってしまっていてawkで扱いにくい。 金額の区切りのカンマだけ無くしたい。 1行目で言えば ¥8,163 を ¥8163 にしたい。 /¥[1-9], とやってキャプチャできるけど、一括置換ではフィールド区切…

csvファイルで、前行と同じなら読み飛ばす(Windowsバッチ)

ファイルを読み込むループを回したときに「現在読み込んでいる行の前の行を取得する」が興味深い。 d.hatena.ne.jp // COINS.txtにビットコイン等の仮想コインが定義してあって TORIHIKI_DATA.csvには、それを取得した元サイトのデータが並んでいるとする。 …

bash 「複数のShift-JISファイル(csvとpyとbat)をnkfで変換してファイル名の末尾に_utf8をつけて保存する」をワンライナーでやる

Windowsで作ったShift-JISのファイルがある。拡張子がバラバラだ。csvとpyとbatが混在している。 これを全部utf-8に変換し、かつファイル名の末尾に_utf8をつけるをコマンド一発でやりたい。最終的にこうなる。 たとえば「DB.csv」を「DB_utf8.csv」に変換す…

Python 3 で csv を扱う(pandas不使用、import csvしない)

Amazon MasterCard を契約した。 min117.hatenablog.com 利用明細は Vpass というオンラインサービスで確認できる。 csvにも出力可能。 出力するとこうなる。 $ vim 201712-2_nkf_wLux.csv 何にどれくらい使ったか csvをPython3 に分析させることにする。例…

iMac 5K でクレジットカード利用明細 csv を編集する(mac OS High Sierra に nkf をインストール)

// Amazon ゴールドカード会員になった。カードの利用明細は「Vpass」というWeb明細に登録することで閲覧できる。 現在の明細はCSVでダウンロードできるらしい。 せっかくなのでダウンロードして、iMacのbashから見てみる。 $ cat 201711-4.csv ダメだ。文字…