CSV 小技のメモ

仕事柄、データをCSV形式で眺めることが多いのだが、その際に使用する小技をまとめてみた。(といっても大したものではないが)

LibreOffice Calcが対象だが、Microsoft Excelに応用できるものもあると思われる。

フィルターを適用する

適当なセルを選択して、Data -> AutoFilter

これでフィルターが適用される。

フィルターを解除したい場合は、フィルターが適用されているカラムのドロップダウンよりClear Filterを選択。

複数のカラムのフィルターを一括で解除したい場合は、Data -> More Filters -> Reset Filter

行を固定する

CSVデータは大抵の場合、1行目はヘッダーとなっている。データが大量にある場合、縦スクロールしていくうちにヘッダーが見えなくなり、「これ何の値だっけ?」となって1行目まで戻ってヘッダーを確認する。。。なんていう手間をかけたくないので、自分は必ずヘッダーの行を固定するようにしている。

一番左隅にあるヘッダーの真下のセルを選択して、View -> Freeze Rows and Columns でヘッダーを固定できる。

列を固定する

自分が分析するCSVは一番左の列がタイムスタンプになっていることが多い。データを横スクロールしつつもタイムスタンプは常に把握したいので、自分は必ず一番左の列を固定する。

セルを選択し、View -> Freeze Cells -> Freeze First Columnで列を固定できる。

サンプルデータより、source IPカラムまでを固定したいとする。この場合、ひとつ隣のdestination IPカラムの一つ目のセルを選択して、View -> Freeze Rows and Columns

source IPカラムまでが固定された。

カラムから重複データを除いて一意のデータのみを抽出する

対象のカラムを選択し、Ctrl+Shift+↓でデータを選択。

Data -> More Filters -> Standard FilterよりStandard Filterウィンドウが立ち上がる。

ウィンドウ下部のOptionsをクリック。

ValueフィールドよりNot Emptyを選択。

Copy results to: とNo duplicationsにチェックを入れる。

Shrinkアイコンをクリック。

データのコピー先のセルを選択。別シートのセルも選択可能。

セルを選択したら、Expandアイコンをクリック。

OKボタンをクリック。

重複分を除いたデータがコピーされた。

注意点

以下のように色分けしたサンプルデータがあるとする。

上記のデータから緑色の行のみをフィルターし、手順に沿ってdestination portカラムから一意の値のみを抽出する。

緑色の行だけでなく、黄色と赤色の行の値まで抽出されてしまった。

緑色の行の値のみ抽出したい場合は、Standard Filterでフィルターをかける際にBackground colorもフィルターの条件に含まなければならない。

データをソートする

対象のカラムのドロップダウンより、Sort Ascending (昇順)もしくは Sort Descending (降順)を選択。

以下はタイムスタンプを降順にソートしたもの。

カラムの幅を変更する

カラムの幅を変更したい場合は、カラムの境界部分をドラッグすれば良い。

しかし、以下の例のようにセルの中に大量のデータが含まれていた場合、その境界部分を見つけられないことがある。

このような場合は、幅を変更したいカラムを列ごと選択し、右クリック -> Column Width

ウィンドウより、任意の値を入力する。以下の例では幅を22.83から11.83に変更している。

OKボタンをクリックして、幅が変更された。

行を色分けしてデータを分析する

自分はCSV形式のログを解析する際、気になったログには色をつけるようにしている。色分けの基準は以下の通り。

  • 赤:要注意
  • 黄:何か怪しい
  • 緑:正常・良性

以下はサンプルデータを色分けしたもの。

ぱっと見で、どのログが怪しいかが判別できる。もちろん色ごとにフィルターすることも可能。

カラムのドロップダウンよりFilter by Colorでフィルターしたい色を選択。

ただし、この方法だと一つの色しかフィルターできない。

複数の色をフィルターしたい場合は、Data -> More Filters -> Standard FilterよりStandard Filterウィンドウから、ConditionフィールドよりBackground colorを選択し、Valueフィールドより色その1を選択。
続いてOperatorフィールドよりORを選択。ConditionフィールドよりBackground colorを選択し、Valueフィールドより色その2を選択。

OKボタンをクリックすると、フィルターが適用される。

Leave a Reply

Your email address will not be published. Required fields are marked *


The reCAPTCHA verification period has expired. Please reload the page.