集成与管道🔥8.0

Excel改坏了我的CSV ID:在导入前抓住这个问题

原标题: Excel改坏了我的CSV ID:在导入前抓住这个问题

DevToData·2026/10/5 16:49:00🔗 原文

📋总体概括

文章讲解Excel等表格软件在打开或导入CSV时对看似数字的标识符造成的静默损坏:前导零的账号ID如00123会被剥离为123,超过JavaScript安全整数范围的ID如9007199254740993会被四舍五入为9007199254740992。作者提供了一个包含此类值及公式注入的测试CSV,建议在导入前先用它检测导入器行为,并强调标识符应保持文本类型,事后改数字格式无法找回已丢失的数字。

⚡关键信息

  • ▸CSV打开不报错仍可能丢失信息,例如前导零ID 00123被Excel转为123
  • ▸超过2^53的ID如9007199254740993会被浮点数精度四舍五入为9007199254740992
  • ▸作者给出一个含问题值和公式=1+1的测试文件import-check.csv用于检测导入器
  • ▸建议标识符在被转换前保持文本格式,事后设数字格式无法恢复已丢失的数字

🔥犀利点评

这是数据工程里最经典的隐形事故:不报错的数据丢失才真正致命,报错反而救了你。Excel把ID当数字处理害惨过无数ETL管道和订单系统,前导零剥离、大数精度丢失、CSV公式注入(CSV injection)三连击全是老坑,但每年照样有人踩。与其事后清洗,不如在接入规范里强制CSV走文本导入或直接用真正的ETL工具,Excel只配看数据,不配碰数据。

本文由本站自动聚合,以下为原始来源:前往 DevToData 阅读全文 →