You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将DataFrame导出为CSV时如何保留数字左侧的前导零?

保留导出CSV时的前导零(保持字符类型)

方法1:用基础R的write.table替代write.csv

write.csv是write.table的封装,默认会把带前导零的字符型数字误判为数值,导致前导零丢失。直接用write.table并指定参数,就能强制保留字符格式:

write.table(df, "df.csv", sep = ",", row.names = FALSE, col.names = TRUE, quote = TRUE)

其中quote = TRUE会给字符型字段加上引号,不管用Excel还是文本编辑器打开,都会识别为文本格式,前导零不会消失。

方法2:用readr包的write_csv函数

tidyverse系列的readr包导出CSV时,会默认保留字符类型的原始格式,不用额外设置:
先安装并加载包:

install.packages("readr")
library(readr)

再执行导出:

write_csv(df, "df.csv")

这种方式导出的文件,x列的前导零会完整保留,无需担心格式被篡改。

额外提醒

  • 先确认df$x确实是字符类型,用class(df$x)检查,要是因子类型,先转成字符:df$x <- as.character(df$x)再导出。
  • 如果用Excel直接打开CSV仍出现前导零丢失,可在Excel导入CSV时,手动指定该列为文本格式,或者用方法1的带引号导出,Excel会自动识别为文本。

内容的提问来源于stack exchange,提问作者An116

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 15:05:56