Quantcast
Channel: なんでもエクセル(Nandemo Excel)
Viewing all articles
Browse latest Browse all 60

Power Query:複数のCSVファイルを結合して読み込む

$
0
0

以前に一回やったんですが、もう少し手軽にできないかとやってみました。複数の CSVファイルを、なるべく手間をかけずに結合して読み込んでみます。

単純に読み込んで結合するだけなら、実はそんなに大変でもないです。ひとまずフォルダコネクタを使ってファイル情報テーブルを呼び出します。


[データの取得]→[ファイルから]→[フォルダから]

すると「参照」ダイアログが開きますので、フォルダを指定します。


CSVファイルが保存されているフォルダを指定して[開く] →[データの変換]

「データの変換」をクリックすると、Power Queryエディターが開きます。

ここからはエディタでの操作になります。

とはいえ、やることは新規のステップを一つ追加するだけです。


右ペインの「適用したステップ」で、
一番最後のステップ(今回は「ソース」)を右クリック
→「後にステップの挿入」

ステップを挿入したら、数式バーに下記のコードを貼り付けます。「★」と「☆」のところは、適宜修正してください。

= Table.Combine(Table.AddColumn(ソース, "x", each [
        csvインポート = Csv.Document( [Content], [Delimiter=",", Columns=★, Encoding=☆, QuoteStyle=QuoteStyle.None]),
        ヘッダーに昇格 = Table.PromoteHeaders(csvインポート)
    ][ヘッダーに昇格])[x])
「★」に、CSVファイルの「列数」を入力
「☆」に、「エンコード(Shift-JISなら『932』、UTF-8なら『65001』)」を入力

これで CSVファイルの列名がなんであっても、読み込みできるはずです。もしファイル名列を追加したい場合は、下記のようにします。

= Table.Combine(Table.AddColumn(ソース, "x", each [
        csvインポート = Csv.Document([Content], [Delimiter=",", Columns=★, Encoding=☆, QuoteStyle=QuoteStyle.None]),
        ヘッダーに昇格 = Table.PromoteHeaders(csvインポート),
        ファイル名列の追加 = Table.AddColumn(ヘッダーに昇格, "ファイル名", (x)=> [Name])
    ][ファイル名列の追加])[x])

これでファイル名列が追加されます。


Viewing all articles
Browse latest Browse all 60

Trending Articles