LoginSignup
3
4

More than 1 year has passed since last update.

Power Queryを使った巨大CSVファイルの中身を覗く方法(小ネタ)

Last updated at Posted at 2022-06-28

数GBの巨大な測定データを受け取り、Excelで開かず困ったことはありませんか?
そんな時に、サクッとCSVに入ったデータを覗く方法の紹介です。
先に全体像を掴むことで不要なデータの分割&確認作業が省略でき、作業の効率UPとなります。
yomitori - コピー - コピー.PNG

Power Query作業手順

まずは作業手順をまとめました。後ほどこの作業の自動化も説明します。

CSVファイルを読み取り

Excelを開き Power queryのデータ取得からCSVファイルを選ぶ(Menu/Data/From Text/CSV)
001.png

Power Query起動

Transform Data をクリックしPower Queryに入ります。
003.png

Index行を追加

Add ColumnからIndex行を追加(Menu/Add Column/index Column)
004.png

Indexの属性をTEXTに変更

Indexを右クリックし、属性をTEXTに変更します。
005.png

読み込み条件を「終わる」に設定

Indexを右クリックし、読み込み条件を「終わる」に設定します。
006.png

読み込み条件を設定

読み込み条件を"000"で終わるに設定します。
"000"では1000行おきに1行の割合でデータを読み込みますのでデータサイズはが1,000分の1になります。これで巨大ファイルが小さくなります。"000"を"0"に変更すると10行に1行読み込みます。
007.png

Dataを読み込む

読み込みます。(Menu/File/Close&Load)
008.png

Excelで開く

これでエクセル上にデータが読み込めましたので、グラフにするなりして必要なデータのINDEX番号を見つけて下さい。そのINDEXを使いフィルターを調整&再読み込みすると必要なデータが詳細に読み込めます。
009 - コピー.png

自動化

この作業を毎回行うのは手間ですよね?
Power Queryでは、上で説明した一連の作業をこの作業を自動化できます。

ファイルパスを登録

ファイルパスをName Manager に登録(セルの値をPathTOに入れます)。
これでセルに入力したファイル名、ファイルパスをPower QUery に取り込めます。
016.png

セルにパス入力

セルにファイルパスとファイル名を入れます。
013.png

Power Query editorの起動

テーブルをクリックしMenu/Query/EditからPower Query editorを起動します。
017.png

Advanced Editorを開く

Power Query EditorのMenu/Home/Advanced Editorを開きます。
018.png

Power Query の編集

これで「データ更新」でName Managerに登録されたPathTOのデータを読み込みます。
019.png

power query
let
    Path1 = Excel.CurrentWorkbook(){[Name="PathTO"]}[Content]{0}[Column1],
    Source = Csv.Document(File.Contents(Path1),[Delimiter=",", Columns=424, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    #"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
    #"Added Index1" = Table.AddIndexColumn(#"Promoted Headers", "Index", 0, 1, Int64.Type),
    #"Changed Type2" = Table.TransformColumnTypes(#"Added Index1",{{"Index", type text}}),
    #"Filtered Rows1" = Table.SelectRows(#"Changed Type2", each Text.EndsWith([Index], "000")),
    #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows1",{"Index"})
in
    #"Removed Columns"
データの更新

では、Power Queryを試してみます。ファイルパス、ファイル名を入力しExcel上で"Menu/Data/Refresh All"でデータを更新します。
014.png

読み込み中はこの表示が出ますので、消えるまでしばらくお待ちください。
015.png

従来巨大ファイルは、ファイル分割などで適当なサイズに分割後、いちいち各ファイルを確認していましたが、Power Queryのフィルタ機能を使い「読めるサイズ」で荒く読み取る方法です。先に全体像が見れるので、不要なデータを分割、確認する手間が省けます。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4