質問
CSVファイル読み取り時に、「クォートが対になっていません」とエラーが発生します。原因と対応策を教えてください。
回答
■想定される原因
本エラーは以下の状況で発生した例がございました。
-
読み取ったCSVファイルの記述において、「”」(ダブルクォーテーション)が対になっていない値があるために、CSVファイルの読み取りに失敗した。
例といたしましては、以下のようなCSVファイルが該当します。
----------------------------------------
"A","B","C"
"D","E","F
----------------------------------------
- 読み取りと書き込み処理において、同一のファイルを指定して PSP 処理を有効とした場合、読み取りと書き込みが並行して行われるため、書き込み中のデータを読み取ってしまい、CSVファイルの読み取りに失敗した。
■対処方法
- 「”」(ダブルクォーテーション)が対になっていない値がある場合
読み取り対象のCSVファイルを開き、「”」が含まれているかご確認ください。
含まれている場合、「”」が対になっていない箇所があるかどうか確認し、「”」が対になるように編集してください。
「”」が対になっていない箇所がある場合、下記の仕様制限に該当いたします。
仕様制限についての詳細につきましては、ヘルプをご確認ください。
データにデリミタ文字、「"」(ダブルクォーテーション)、改行を含む場合はデータの最初と最後に「"」を記述する必要があります。
「"」を含む場合は「""」のように2つ続けて記述します。
また、過去事例では、CSVファイル読み取りコネクターではなく、可変長ファイル読み取りコネクターを利用することで事象が解消した例がございました。可変長コネクターの詳細につきましては、下記ヘルプをご参照ください。
- 読み取りと書き込み処理において、同一のファイルを指定して PSP 処理を有効とした場合
PSP処理を「無効」に設定してください。
PSP処理を「無効」とするには、デザイナで該当スクリプトを選択し、右クリックで表示される [スクリプトメニュー] から行うことができます。
■補足
PSP には以下の仕様制限があります。
PSPで処理を行う読み取りコンポーネントと書き込みコンポーネントの間で、処理対象となるファイルは操作できません。
- パラレルストリーミング処理
https://www.hulft.com/help/ja-jp/HULFTSquare/Content/Data_Integration/Detailed/parallel_streaming_processing.htm
また、上記については、下記の仕様制限にも該当するため、動作保証外になります。
同一のファイルに対する書き込みや操作をマルチスレッドで行った場合の動作は保証していません。
コメント
0件のコメント
記事コメントは受け付けていません。