【kintone】データ移行、一括更新などの際、CSVファイルをExcelで開くと、自動で型変換されてしまう問題を解決したい #CSVインポート - Qiita

こんにちは!
なぜか突然、中耳炎になってしまったノベルワークスのつつみんです。痛いので、みなさんもお気をつけください…:angel:

新年度を迎えて、アプリの整理に伴うデータ移行やデータの整頓作業などが発生していませんか?

私は最近、kintoneのデータをCSV形式でエクスポートし、それをExcelで開いたところ、勝手に型が変換されてしまうという事態に直面しました。地味に困るやつですよね…:weary:

というわけで今更感はありつつも、今回は、「CSVファイルをExcelで開くと自動で型変換されてしまう問題」について、調べたことを備忘録としてまとめておきます:pencil2:

データ移行や取り込み作業の際に、同じような悩みを抱えている方の参考になれば嬉しいです!

ExcelがCSVを開くときの自動処理の話

CSV(Comma Separated Values)ファイルは、カンマ(,)で区切られたプレーンテキストです。
つまり、中身は全部「文字列」として書かれてるだけです。これをExcelでダブルクリックすると、Excelは「文字列として読む」んじゃなくて、「表にしてあげるね〜」と勝手に解釈&型変換して表示します。

🤖 Excelの“親切な”自動変換の例

入力(CSV内) Excelで開いたときの変換例 問題点
001 1 先頭の0が消える
1-2 1月2日や 1/2 に変換されることも 意図しない日付変換
12E3 12000 数値(指数表記)に変換される

型変換されると何が困るの?

実際に起きた今回の事例

①以下のレコードをcsvで書き出す
2025-04-09_08h47_54.png
②csvをexcelで開く(型変換されてる…)→そのまま上書き保存する
2025-04-09_09h24_56.png
③csvを読み込む
2025-04-09_08h49_41.png

※受付番号とIDが意図しないデータになっている:alien:!!!

方法①:Excelではなくテキストエディタで開く
方法②:Excelのインポート機能を使って手動で型指定する
方法③:Googleスプレッドシートで開いてからExcelへ変換

今回は、Excelシートを他のメンバーと共有して編集してもらう予定があったため、
手動で型指定ができる【方法②】の「Excelのインポート機能」を採用しました。

一方で、複数人でリアルタイムに作業したい/共有の手軽さを重視したいという場合には、
【方法③】の「Googleスプレッドシートを使って開く」方が便利かもしれません。

方法②の手順を紹介

  1. Excelを開き「データ」タブ→「テキストまたはCSVから」をクリックしてCSVファイルを選択
    2025-04-09_09h41_12.png

2.プレビューが表示されるので「データ型検出」を「データ型を検出しない」にして「読み込み」をクリック
2025-04-09_09h49_34.png

3.正しくデータが表示される
2025-04-09_09h56_50.png

4.必要に応じて編集(編集後に変換されてしまう可能性があるので、「表示形式」を指定しておく)
2025-04-09_09h56_50.png

5.変更したファイルをCSVで保存します。保存前に1行目の「見出し行」を削除。
「テーブルデザイン」の「見出し行」のチェックを外すと1行目が空白行になるので削除。
2025-04-10_08h58_56.png

2025-04-10_08h59_27.png

2025-04-10_08h56_37.png

CSVの型変換は、地味だけど見逃せない落とし穴です:frowning2:
特に、kintoneに再インポートしたときにエラーが出なかったとしても、「あれ?なんかデータおかしくない?」と後で気づく… :fearful:なんてことは、なるべく避けたい:fist:

少し手間でも、正しい手順で取り込むことで、ミスやトラブルを防ぐことができます。
今回の件で、「ちゃんと確認しよう」と心に誓ったつつみんでした:muscle:



フラッグシティパートナーズ海外不動産投資セミナー 【DMM FX】入金

Source link