このページでは、ExcelやPower BI などで読み込んだCsvファイルが改行コードによってデータが崩れ、ずれてしまう場合のPower Query関数やPower Queryエディター上での修正方法を紹介します。
また、改行コード”#(lf)”のデータクレンジング方法も紹介します。
目次
改行コードが含まれたCSVの読み込み結果
まずは、改行されたcsvファイルを読み込んだ結果を表示します。
data2においてtestと数字の間に改行コード(不可視)があるので改行されています。
Excelで開いたCSVファイルの表示結果
Power Queryエディターでの表示結果
Power Queryエディターでは、改行コードによって、データに”ずれ“が生じています。
Power BIではこのずれが原因でデータ型不一致によりエラーが発生することが多々あるかと思います。
解決方法:Csv.Document関数の設定
Csv.Document関数のQuoteStyle.Typeを変更します。
- Power Queryエディターから、詳細エディターを選択します。
- ソースにて記載されているCsv.Document関数のQuoteStyle.TypeがNoneになっているので、Csvに変更します。QuoteStyle=QuoteStyle.None → QuoteStyle=QuoteStyle.Csv
- QuoteStyle.Csvに変更することで、データのずれがなくなり、Excelで開いた時と同じ表示になりました。
フォルダごとCsvファイルをインポートしている場合は、ヘルパークエリ内の”ファイルの変換”の中で、Csv.Document関数が使用されているはずです。
改行コードのデータクレンジング
Power Queryエディター上で特定の操作を行うことで改行コードに対してデータクレンジングを行うことができます。
下記にどのような対応を行うことができるか記載します。
改行コードの削除・置換
- 改行を含む列を選択して、変換タブ内の、”値の置換”を選択します。
- 詳細設定オプションから、特殊文字を使用した置換にチェックボックスを入れて、改行(#(lf))を選択し検索する値に挿入します。
- 置換後欄になにも記入しない場合は、改行コードを削除します。任意の値を入力することで、その値に置換することが可能です。
改行コードの削除
改行コードの置換 (置換後欄に”/”を入力。)
改行コードによるデータ分割
- 改行を含む列を選択して、変換タブから列の分割、区切り記号による列の分割を選択します。
- 特殊文字を使用して分割から、改行(#(lf))を選択します。
- 詳細設定オプションからデータを分割する方向を選択します。
分割したい方向を選択してください。
列方向に分割
行方向に分割
まとめ
- データを読み込んだ際にデータが改行を起点にずれていたら、Csv.Document関数の設定を変更。
- 改行コードのデータクレンジングは値の置換または、データ分割から行うことができる。