コンテンツにスキップ

データの中に改行が含まれる

セルの中に改行が入っている CSV を、1 行が複数行にまたがったまま正しく読むための設定です。ふつうのファイル系データソースの画面には出ません。 出るのは Hyper nehan を契約している組織のデータソースだけです。

使えるファイル形式

可否形式
使えるCSV / TSV / Text
使えないExcel と JSON と Parquet

CSV のように区切り文字で列を分ける形式でしか起きないので、ほかの 3 つにはこの項目がありません。

どこに出るか

画面出るか項目の名前
ファイル系データソース(Amazon S3・Google Cloud Storage・ファイルアップロードなど、いま新規作成できるもの)出ません—
Hyper nehan のデータソース出ます複数行に渡るレコードがファイルに含まれる

ふつうのファイル系データソースでこの項目を探しても見つかりません。 項目そのものが画面に作られないためです。

出ないほうではどうなるか

ダブルクォーテーション(")で囲んである限り、設定しなくても正しく読めます。 囲みの中の改行は、行の区切りではなく値の一部として扱われます。

囲まれていない改行は、どの設定でも新しい行の始まりとして扱われます。こうなったときは、ファイルを書き出すときに値をダブルクォーテーションで囲むようにしてください。 書き出し側を変えられないときは、読み込んだあとに次のようなずれが出ます。

"名前","説明","価格"
"商品A","これは
複数行にわたる
説明です。","1000"
"商品B","シンプルな説明","2000"

このファイルは囲んであるので、商品A の説明は改行を含んだ 1 つの値として読まれ、全体で 2 行になります。

Hyper nehan で出たときの使い方

複数行に渡るレコードがファイルに含まれるにチェックを入れると、囲みの中の改行をまたいで 1 行として読みます。はじめは OFF です。

同じ場所に出るもう 1 つの設定として、破損したレコードの扱いがあります。列数が合わない行をどうするかを決めるもので、3 つから選びます。

データを破損カラムに挿入
はじめから選ばれているもの。読めなかった行を捨てずに、そのまま入れておきます。
無視する
読めなかった行を結果に含めません。
読み込みエラーにする
1 行でも読めないものがあれば、読み込みそのものを止めます。

どれを選ぶかは「おかしい行に気づきたいか」で決めます。 気づきたいなら読み込みエラーにする、件数が多くて止めたくないならデータを破損カラムに挿入です。

よく使う例

1. 備考欄に改行が入ったアンケートを読む

見るところ中身
お題自由記述の備考に改行が入っていて、1 件が何行にも分かれて見える
入力survey.csv(備考の値がダブルクォーテーションで囲まれている)
設定ふつうのファイル系データソースなら何もしない。Hyper nehan なら複数行に渡るレコードがファイルに含まれるを ON
出力1 件が 1 行として読まれる

2. 囲まれていない改行が混ざっている

見るところ中身
お題書き出し側の不具合で、一部の値だけ囲みが外れている
入力export.csv
設定書き出し側でダブルクォーテーションで囲むように直してから読み込む
出力行の切れ目が揃う。直せないときは、改行を別の文字に置き換えて書き出してもらうのが近道です

関連