ファイルを読み込むループを回したときに「現在読み込んでいる行の前の行を取得する」が興味深い。
COINS.txtにビットコイン等の仮想コインが定義してあって
TORIHIKI_DATA.csvには、それを取得した元サイトのデータが並んでいるとする。
TORIHIKI_DATA.csv をコイン順に並べ替えるとカブっているのがわかる。
どのコインがどのサイトから得られたのか(一意に)分析したいのでカブりを取り除きたい。
要はこうしたい。
<コード>
Windowsバッチでできる。事前に COINS.txt のコイン名の列は消してから流す。
やっていること。
・COINS.txt のコインコードをキーにして TORIHIKI_DATA2.csvを読み込む。
・COINS.txt のコインコードに該当する取得元サイトのコードを表示する。
・読み込んだ行が前行と全く同じだったら読み飛ばす(CONTINUEEEEと表示)
実行してみる。
結果は kekka.txt に落ちる。
シンプルだけど良い。業務でcsvを扱っていて前行と全く同じ行だったら読み飛ばしてほしいケースが多いが、Windowsだとuniqは無いし、Excelだと微妙にできない(例えばCOINS.txtのコインの種類が増えると、都度かなりの手作業が発生してしまう)。その点、このバッチなら(COINS.txt に書き足してから)流すだけ。なにげに色々と応用が効きそうだ。Pythonでもやってみる。