データの中に改行が含まれる
セルの中に改行が入っている 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 |
| 設定 | 書き出し側でダブルクォーテーションで囲むように直してから読み込む |
| 出力 | 行の切れ目が揃う。直せないときは、改行を別の文字に置き換えて書き出してもらうのが近道です |
関連
1行目を列名として扱う いま使える調整オプション
先頭から行数をスキップし以降を読み込む いま使える調整オプション
各ファイルから読み込む行数を指定する いま使える調整オプション
オプションの適用順序 設定が効く順番
CSV/TSV/Textファイル 形式ごとの読み込み設定
画面構成(ファイル系データソース) 画面のどこにあるか
Hyper nehanとは Hyper nehan のこと