Excel 365导入CSV文件时小数点丢失:44.4变为444
解决CSV导入Excel(Office 365)时小数变为整数的问题
我之前处理CSV导入时也踩过一模一样的坑——明明改了系统区域的小数符号,结果44.4还是变成了444。这种情况本质上是Excel导入时的格式识别逻辑没跟上你的设置,下面给你几个亲测有效的解决步骤:
方法1:用Power Query精准导入(推荐)
Office 365的Power Query工具比旧版导入向导靠谱太多,能精准控制每一步的格式:
- 打开Excel新建空白工作簿,点击顶部「数据」选项卡 → 「自文本/CSV」
- 选中你的CSV文件,点击「导入」,在预览窗口里点「转换数据」进入Power Query编辑器
- 先确认分隔符是逗号(在「主页」选项卡的「拆分列」里可以调整)
- 选中那列出问题的小数列,点击「转换」选项卡 → 「数据类型」,直接选择「小数」;如果之前被识别成了文本,先转成文本再转小数,避免自动格式化错误
- 确认预览里的数字显示正常后,点击「关闭并上载」,数据就会正确导入了
方法2:手动指定导入时的分隔符和小数格式
如果习惯用旧版文本导入向导,可以这样操作:
- 右键CSV文件,选择「打开方式」→「Excel」,此时会弹出文本导入向导
- 第一步选择「分隔符号」,点击「下一步」
- 勾选「逗号」作为分隔符,然后点击「高级」按钮
- 在「高级文本导入设置」里,把小数分隔符设为「.」,千位分隔符设为「,」(根据你的需求调整),点击确定后继续完成导入
方法3:先按文本导入再转格式
怕Excel自动识别搞砸的话,可以先把列设为文本导入,再转成数字:
- 在文本导入向导的第三步,选中包含小数的列,把「列数据格式」改成「文本」
- 导入完成后,选中这列,右键选择「设置单元格格式」→「数字」→「数值」,指定小数位数为1,就能正确显示44.4了
额外检查:确认CSV文件本身的内容
用记事本打开你的CSV文件,看看里面的44.4是不是确实用「.」做小数分隔符——有时候原系统导出的CSV可能暗藏格式问题,比如实际是用逗号做小数,但你改成了点的区域设置,Excel就会把逗号当成分隔符,把数字拆成两部分后拼接成整数。
内容的提问来源于stack exchange,提问作者Thomas Kristiansen




