[Power Query] Csvファイル:データずれの対処方法(改行コード)

ブログのアイキャッチ。Csvファイル:データずれの対処方法

このページでは、ExcelやPower BI などで読み込んだCsvファイルが改行コードによってデータが崩れ、ずれてしまう場合のPower Query関数やPower Queryエディター上での修正方法を紹介します。
また、改行コード”#(lf)”のデータクレンジング方法も紹介します。

目次

改行コードが含まれたCSVの読み込み結果

まずは、改行されたcsvファイルを読み込んだ結果を表示します。
data2においてtestと数字の間に改行コード(不可視)があるので改行されています。

Excelで開いたCSVファイルの表示結果

Excelで開いたCSVファイルの表示結果

Power Queryエディターでの表示結果

Queryエディターでの表示結果

Power Queryエディターでは、改行コードによって、データに”ずれ“が生じています。
Power BIではこのずれが原因でデータ型不一致によりエラーが発生することが多々あるかと思います。

解決方法:Csv.Document関数の設定

Csv.Document関数QuoteStyle.Typeを変更します。

  1. Power Queryエディターから、詳細エディターを選択します。
詳細エディターの位置
詳細エディターの内容。
  1. ソースにて記載されているCsv.Document関数のQuoteStyle.TypeがNoneになっているので、Csvに変更します。QuoteStyle=QuoteStyle.None → QuoteStyle=QuoteStyle.Csv
  2. QuoteStyle.Csvに変更することで、データのずれがなくなり、Excelで開いた時と同じ表示になりました。
QuoteStyle=QuoteStyle.Csvに変更したデータ結果。

フォルダごとCsvファイルをインポートしている場合は、ヘルパークエリ内の”ファイルの変換”の中で、Csv.Document関数が使用されているはずです。

改行コードのデータクレンジング

Power Queryエディター上で特定の操作を行うことで改行コードに対してデータクレンジングを行うことができます。
下記にどのような対応を行うことができるか記載します。

改行コードの削除・置換

  1. 改行を含む列を選択して、変換タブ内の、”値の置換”を選択します。
値の置換の位置
  1. 詳細設定オプションから、特殊文字を使用した置換にチェックボックスを入れて、改行(#(lf))を選択し検索する値に挿入します。
値の置換の設定項目
  1. 置換後欄になにも記入しない場合は、改行コードを削除します。任意の値を入力することで、その値に置換することが可能です。

改行コードの削除

改行コードの削除結果

改行コードの置換 (置換後欄に”/”を入力。)

改行コードの削除の置換結果

改行コードによるデータ分割

  1. 改行を含む列を選択して、変換タブから列の分割、区切り記号による列の分割を選択します。
列の分割の位置
  1. 特殊文字を使用して分割から、改行(#(lf))を選択します。
区切り記号による列の分割の設定項目
  1. 詳細設定オプションからデータを分割する方向を選択します。
    分割したい方向を選択してください。

列方向に分割

列方向に分割した結果

行方向に分割

行方向に分割した結果

まとめ

  • データを読み込んだ際にデータが改行を起点にずれていたら、Csv.Document関数の設定を変更。
  • 改行コードのデータクレンジングは値の置換または、データ分割から行うことができる。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

技術系職社会人:業務でPowerBI を活用/データ分析/インドア派/趣味:ゲーム、カプセルトイ収集/[III]Mosnterが好き/勉強中:Blender/日々習得した内容をアウトプットしていきます!

目次