スポンサーリンク

セル内改行があるデータをCSVにしてはいけない

よくあるトラブル対処

エクセルファイルをCSV形式で保存して、他システムへデータ取込や、記憶媒体に保存して提出する事ってありますよね。

その際に、やってはいけない事があります。

なにって記事タイトルのとおり、セル内で改行している箇所があるままCSV形式で保存してはいけません。

なぜセル内改行したままCSVにしてはいけない?

なぜやってはいけないか。

答えは簡単で、作ったCSVファイルが使い物にならなくなるためです。

実際にやってみましょう。

従業員情報をエクセルで作成し、基幹システムへ取り込むためのCSVファイルを作る作業を例とします。

まずはエクセルデータを作成。

先頭レコードのセイウチ太郎の備考欄に、セル内で改行(Alt+Enter)が使われています。

このままCSVファイルとして保存するとどうなるでしょう。

1人1行で作らなくてはいけないのに、セイウチ太郎の備考で改行されてしまっているため、余計な1行が作られてしまっています。

これでは、大抵のシステムではCSVファイルを取り込む際、エラーとして弾かれてしまうんですね。

では、どうすれば良いか

改行を使わなければいい。

この一言に尽きてしまうのですが、自分だけで作るデータならまだしも、色々な人から送られてきたデータを取りまとめてデータを作る場合などでは、知らないうちにセル内改行を使われてしまってる事があります。

その場合は、一括で改行を削除する方法がありますので、下の記事の方法をお試しください。

参考記事の方法で、改行を消したり、スペースや・などに変換してしまいましょう。

書式の折り返して表示はOK

同じ改行に見えても、書式で折り返して全体を表示するを使ってるだけならば問題ありません。

見た目こそ改行されてますが、見た目だけの問題であって、実際のデータに改行コードがあるわけではないためです。

本当に大丈夫なのか、実際にCSV形式で保存してみましょう。

備考欄で改行される事なく、セイウチ太郎で1レコードになっていますね。

まとめ

セル内改行は、見た目を整えるためには非常に便利な機能ですが、今回のようにCSV形式で保存する場合、トラブルの原因となります。

セル内改行自体はAlt+Enterで気軽にすぐ使えるものですが、使う際は他に影響がないか考えながらつかいましょう。

おまけ(CSVとは)

そもそもCSVとは何?というお話。

CSVとは、Comma-Separated Valuesの頭文字をとったものです。

名前のとおり、カンマで区切られた値ですので、エクセルファイルと違って書式や図などの情報は一切持てません。

感覚としては、ただのテキストファイルですね。

なので、メモ帳で開いて直接編集したりできます。

そして1行を1つのデータレコードとして扱う形式のため、今回のように改行したセルをそのままCSVファイルとして保存してしまうと、トラブルの原因になりやすいわけなんです。

なりやすいじゃなくて、絶対にトラブルになるじゃん!

と言いたいところですが、例えば、CSVファイルの取込先のシステム側で、項目数が不足していれば次のレコードを結合する。というように、頑張って対処している場合もあるので、絶対ではないのです。

 

だいたい、ほぼ、ほとんどトラブルになりますが。

 

いちおう、ダブルクオーテーションで囲まれた中に改行コードがある場合は、2行に分かれても1レコードとして扱う仕様になってはいます。

実際に"働きたくない[改行コード]家から出たくない"という内容のCSVファイルをエクセルで読み込むと、ちゃんと1レコードとして扱ってくれます。

 

ですがやはり、他システムへの取り込みに使う場合などは、だいたい、ほぼ、ほとんどトラブルになります。

 

コメント

タイトルとURLをコピーしました