0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【備忘録メモ】DataSpiderで2ファイルを比較して、差分を出力した際に差分データを正しく抽出できない現象の解決法

Last updated at Posted at 2020-12-25

DataSpiderにてCSVファイルの差分をとるスクリプトを作成しました
スクリプトでは下記の2点を行っています
➀2つのファイルを比較し、片方のファイルにしか存在しないデータを差分として抽出
➁差分が抽出された場合、差分データをファイルに出力
しかし、動作確認したところ同一ファイルの比較にもかかわらず、
差分としてデータが出力されてしまう現象が発生しました
この現象についてCSVファイル読み取り処理パーツの読み取り設定を変更することで解決したので紹介します

環境

DataSpider Cloud 1.4

詰まったところ

➀ まったく同一内容のファイルを比較

比較用ファイル(1):inputdata1.csv

2020-12-24 (12).png

比較用ファイル(2):inputdata2.csv

2020-12-24 (13).png

➁ 一方のファイルの1行目が差分として出力されている

差分を出力するファイル:test_diff.csv

2020-12-24 (11).png

実装内容

全体の実装

スクリーンショット (359).png

各パーツの内容

CSV形式のファイルを読み取る

スクリーンショット (361).png

2020-12-24 (3).png 2020-12-25 (9).png

単一行の文字列定数を出力します

スクリーンショット (360).png

2020-12-25.png

CSV形式のファイルを読み取る

スクリーンショット (362).png

2020-12-24 (1).png 2020-12-25 (4).png

二つの入力データを比較

スクリーンショット (363).png

2020-12-25 (3).png 2020-12-25 (6).png

比較したデータから差分を抽出

スクリーンショット (364).png

2020-12-25 (2).png

差分データをCSV形式のファイルに書き込む

スクリーンショット (365).png

2020-12-24 (9).png 2020-12-24 (10).png

原因

inputdata1CSV読み取りパーツの読み取り設定タグと
inputdata2CSV読み取りパーツの読み取り設定タグの設定に差異があり
inputdata1では、最初の行は値として取得しないにチェックが入っていたため、1行目のデータが出力されています

実装した設定
2020-12-25 (7).png

解決策

inputdata1CSV読み取りパーツの読み取り設定タグと
inputdata2CSV読み取りパーツの読み取り設定タグの設定を統一します
今回のように読み取りを行うファイルにヘッダー要素がない場合は、CSV読み取りパーツの読み取り設定タグの、最初の行は値として取得しないのチェックを外します

2020-12-24 (17).png

参考

[DataSpider Cloud ヘルプ : CSVファイル読み取り処理]
(https://doc.dataspidercloud.com/v1.4/help/ja/adapter/file/csv_get_data.html)
[DataSpider Cloud ヘルプ : 結合]
(https://doc.dataspidercloud.com/v1.4/help/ja/adapter/convert/join_converter.html)
DataSpider Cloud ヘルプ : Mapper
[DataSpider Cloud ヘルプ : CSVファイル書き込み処理]
(https://doc.dataspidercloud.com/v1.4/help/ja/adapter/file/csv_put_data.html)
[DataSpider Cloud ヘルプ : 単一行文字列ロジック]
(https://doc.dataspidercloud.com/v1.4/help/ja/mapper/variable/logic/singleLineStringConstant.html)

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?