テキスト/CSV

概要

アイテム 説明
リリース状況 一般公開
プロダクツ エクセル
Power BI (セマンティック モデル)
Power BI (データフロー)
ファブリック (データフロー Gen2)
Power Apps (データフロー)
Dynamics 365 Customer Insights
Analysis Services
関数リファレンス ドキュメント File.Contents
Lines.FromBinary
Csv.Document

一部の機能は 1 つの製品に存在する可能性がありますが、展開スケジュールとホスト固有の機能のため、他の製品には存在しない場合があります。

サポートされている機能

  • 輸入

Power Query Desktop からローカル テキスト/CSV ファイルに接続する

ローカル テキストまたは CSV ファイルを読み込むには:

  1. [データの取得 ] で [テキスト/CSV ] オプションを選択 します。 この操作により、テキスト ファイルを選択できるローカル ファイル ブラウザーが起動します。

    テキスト ファイルを選択するときに開いているファイル ブラウザーのスクリーンショット。

    [開く] を選択して、ファイルを開きます。

  2. ナビゲーターから、Power Query エディターで [データの変換] を選択してデータを変換するか、[読み込み] を選択してデータを読み込むことができます

    ナビゲーターのサンプル テキストのスクリーンショット。

Power Query Online からテキスト/CSV ファイルに接続する

ローカル テキストまたは CSV ファイルを読み込むには:

  1. [ データ ソース ] ページで、[ テキスト/CSV] を選択します。

  2. [接続設定] で、ファイルをアップロードするか、必要なローカル テキストまたは CSV ファイルへのファイル パスを入力します。

    オンライン テキスト ファイルの選択画面のスクリーンショット。

  3. データ ゲートウェイからオンプレミス データ ゲートウェイを選択します。

  4. ユーザー名とパスワードを入力します。

  5. [次へ] を選択します。

  6. ナビゲーターから [データの変換] を選択して、Power Query エディターでデータの変換を開始します。

    [データの変換] を選択したオンライン ナビゲーター ウィンドウのスクリーンショット。

Web から読み込む

Web からテキストまたは CSV ファイルを読み込むには、 Web コネクタを選択し、ファイルの Web アドレスを入力して、資格情報のプロンプトに従います。

テキスト/CSV 区切り記号

Power Query CSV は、区切り記号としてコンマを含む構造化ファイルとして扱われます。テキスト ファイルの特殊なケースです。 テキスト ファイルを選択すると、区切り記号で区切られた値が含まれるかどうか、およびその区切り記号が何であるかが Power Query によって自動的に判断されます。 区切り記号を推論できる場合は、自動的に構造化データ ソースとして扱われます。

非構造化テキスト

テキスト ファイルに構造がない場合は、ソース テキストでエンコードされた各行の新しい行を含む 1 つの列を取得します。 非構造化テキストのサンプルとして、次の内容を含むメモ帳ファイルを検討してください。

Hello world.
This is sample data.

読み込むと、これらの各行を独自の行に読み込むナビゲーション画面が表示されます。

単純な非構造化テキスト ファイルから読み込まれたデータを含むナビゲーターのスクリーンショット。

このダイアログで構成できるオプションは 1 つだけです。このオプションは、[ ファイルの配信元 ] ドロップダウン選択です。 このドロップダウンでは、ファイルの生成に使用された 文字セット を選択できます。 現在、文字セットは推論されず、UTF-8 は UTF-8 BOM で始まる場合にのみ推論されます。

Text/CSV のファイル カルチャの選択のスクリーンショット。

CSV

サンプルの CSV ファイル については、こちらをご覧ください

CSV では、ファイルの配信元に加えて、区切り記号とデータ型検出の処理方法の指定もサポートされています。

csv ファイルから読み込まれたデータを示すナビゲーターのスクリーンショット。

区切り記号には、コロン、コンマ、等号、セミコロン、スペース、タブ、カスタム区切り記号 (任意の文字列を指定できます)、固定幅 (標準文字数でテキストを分割する) が含まれます。

csv ファイルの区切り記号の選択のスクリーンショット。

最後のドロップダウンでは、データ型検出の処理方法を選択できます。 最初の 200 行またはデータ セット全体に基づいて作成できます。 自動データ型検出をオフにして、代わりにすべての列を既定の "テキスト" にすることもできます。 警告: データ セット全体を選択すると、エディター内のデータの初期読み込みが遅くなる可能性があります。

csv ファイルのデータ型推論の選択のスクリーンショット。

推論が正しくない可能性があるため、読み込む前に設定を再確認してください。

構造化テキスト

Power Queryがテキスト ファイル内の構造を検出すると、テキスト ファイルは区切り記号で区切られた値ファイルとして扱われます。 CSV を開くときに使用できるのと同じオプションが提供されます。 CSV は基本的に、区切り記号の種類を示す拡張子を持つファイルです。

たとえば、次の例をテキスト ファイルとして保存Power Query、非構造化テキストではなくタブ区切り記号を持つものとして読み取ります。

Column 1	Column 2	Column 3
This is a string.	1	ABC123
This is also a string.	2	DEF456

構造化テキスト ファイルから読み込まれたデータを示すスクリーンショット。

この構造体は、他の任意の種類の区切り記号ベースのファイルに使用できます。

ソースの編集

ソース ステップ (Power Query Desktop の [適用されたステップ] ウィンドウ) を編集すると、ファイルを最初に読み込む場合とは少し異なるダイアログが表示されます。 ファイルの現在の処理方法 (テキストまたは CSV) に応じて、さまざまなドロップダウンが表示された画面が表示されます。

CSV ファイルにアクセスするクエリのソース ステップを編集するダイアログのスクリーンショット。

[ 改行 ] ドロップダウンを使用して、引用符内の改行を適用するかどうかを選択します。

CSV ファイルの改行スタイルを選択するドロップダウンのスクリーンショット。

たとえば、前に指定した '構造化' サンプルを編集する場合は、改行を追加できます。

Column 1	Column 2	Column 3
This is a string.	1	"ABC
123"
This is also a string.	2	"DEF456"

[改行][引用符で囲まれた改行を無視] に設定した場合、サンプルは、同じ列の前半の下に文字列の後半を読み込みます。

引用符で囲まれた改行を含む CSV ファイルの読み込みは無視されます。

[ 改行 ] を [ すべての改行を適用する] に設定した場合、サンプルは余分な行を読み込み、改行の後の内容がその行の唯一のコンテンツになります (正確な出力はファイルの内容の構造によって異なります)。

引用符で囲まれた改行が適用された CSV ファイルの読み込み。

[ ファイルを開く ] ドロップダウンを使用して、ファイルを読み込む内容を編集します。 この設定は、トラブルシューティングに重要です。 技術的に CSV ではない構造化ファイル (テキスト ファイルとして保存されたタブ区切り値ファイルなど) の場合は、[ ファイルを開く ] を CSV に設定したままにします。 この設定により、ダイアログの残りの部分で使用できるドロップダウンも決定されます。

ファイルの種類を変更する。

例によるテキスト/CSV

Power Query の Text/CSV By Example は、Power BI Desktop と Power Query Online で一般公開されている機能です。 Text/CSV コネクタを使用すると、ナビゲーターの左下隅に [例を使用してテーブルを抽出 する] オプションが表示されます。

例を用いたテーブル抽出オプションの利用。

そのボタンを選択すると、[ サンプルを使用したテーブルの抽出 ] ページが表示されます。 このページでは、テキスト/CSV ファイルから抽出するデータのサンプル出力値を指定します。 列の最初のセルを入力すると、列内の他のセルが入力されます。データを正しく抽出するには、列に複数のセルを入力する必要がある場合があります。 列の一部のセルが正しくない場合は、最初に正しくないセルを修正すると、データが再び抽出されます。 データが正常に抽出されたことを確認するには、最初のいくつかのセルのデータを確認します。

列の順序で例を入力します。 列が正常に入力されたら、新しい列を作成し、新しい列に例の入力を開始します。

データを抽出するサンプル出力値を指定します。

そのテーブルの作成が完了したら、データの読み込みまたは変換を選択できます。 結果のクエリに、データ抽出のために推論されたすべてのステップの詳細な内訳が含まれていることに注意してください。 これらの手順は、必要に応じてカスタマイズできる通常のクエリステップです。

データ抽出の手順の詳細な内訳。

トラブルシューティング

Web からのファイルの読み込み

Web から text/csv ファイルを取得し、さらにヘッダーの昇格も行っていて、スロットリングの可能性を考慮する必要があるほど多くのファイルを取得している場合は、Web.Contents 呼び出しを Binary.Buffer() でラップすることを検討してください。 この場合、ヘッダーを昇格させる前にファイルをバッファリングすると、ファイルは 1 回だけ要求されます。

大きな CSV ファイルの操作

Power Query Online エディターで大きな CSV ファイルを処理している場合は、内部エラーが発生する可能性があります。 小さいサイズの CSV ファイルを最初に操作し、エディターで手順を適用します。完了したら、大きな CSV ファイルへのパスを変更します。 この方法を使用すると、より効率的に作業でき、オンライン エディターでタイムアウトが発生する可能性を減らすことができます。 サービスではタイムアウト期間が長くなるため、更新時にこのエラーが発生することは想定されていません。

非構造化テキストは構造化テキストとして解釈されます

まれに、Power Queryは、同じようなコンマ番号が段落全体に表示される場合に、ドキュメントを CSV として解釈します。 この問題が発生した場合は、Power Query エディターでソース ステップを編集し、[ファイルを開く] ドロップダウンで CSV ではなく [テキスト] を選択します。

Power BI Desktop の中の列

CSV ファイルをインポートすると、Power BI Desktop は、Power Query エディターで columns=x ステップを生成します。x は初期インポート時の CSV ファイル内の列数です。 後で列を追加し、データ ソースを更新するように設定した場合、更新操作には、最初の x 列数を超える列は含まれません。

エラー: ホストによって接続が閉じられました

Web ソースからテキスト/CSV ファイルを読み込み、ヘッダーを昇格するときに、次のエラーが発生する場合があります。 "An existing connection was forcibly closed by the remote host" または "Received an unexpected EOF or 0 bytes from the transport stream." ホストは、保護対策を採用し、結合または追加操作のために別のデータ ソース接続を待機している場合など、一時的に一時停止される可能性のある接続を閉じることによって、これらのエラーを引き起こす可能性があります。 これらのエラーを回避するには、 Binary.Buffer (推奨) または Table.Buffer 呼び出しを追加してみてください。 これらの関数は、ファイルをダウンロードしてメモリに読み込み、すぐに接続を閉じます。 この操作により、ダウンロード中の一時停止を防ぎ、コンテンツが取得される前にホストが強制的に接続を閉じないようにします。

次の例は、この回避策を示しています。 このバッファリングは、結果のテーブルが Table.PromoteHeaders に渡される前に行う必要があります。

  • 元のコード:
Csv.Document(Web.Contents("https://.../MyFile.csv"))
  • Binary.Buffer を使用する場合:
Csv.Document(Binary.Buffer(Web.Contents("https://.../MyFile.csv")))
  • Table.Buffer を使用する場合:
Table.Buffer(Csv.Document(Web.Contents("https://.../MyFile.csv")))