CSVファイルの数値と指数表示について – LibreOffice Calc
先日、CSV形式のデータを編集していてトラブルになりかけましたので整理しておきます。
問題になったのはCSV形式の顧客データで、利用者が希望のユーザIDを登録できるものでした。アルファベットのみやアルファベットと数字の組み合わせであれば良いのですが、数字のみのIDで桁数が多いと Excel や Calc の仕様によって指数表示に変換されてしまう場合があります。
画面内でスクロールなしで見渡せる程度であれば気がつくかもしれませんが、データ件数が多い場合は知らないまに数値が指数表示に変換されて、しかも指数表示のままテキストデータとして保存されてしまいます。
そのような問題を回避するには、数字のみの列を「テキスト」列として扱う必要があります。
テストのために、次のようなサンプルのCSVファイルを用意しました。

これをLibreOffice Calc(またはExcel)で開くと、テキストインポートのダイアログが表示されます。

まずは「OK」ボタンをクリックしてそのままインポートしてみます。

桁数が多いセル(16桁以上)が指数表示になります。
これを、そのまま上書き(CSV形式)で保存してみます。
※選択した書式を保持をクリック

保存したCSVファイルをテキストエディタで開いてみると、16桁以上の行が指数表示のまま文字列として保存されています。