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

如何用write_csv导出仅保留2位小数的列?求简洁实现方案

解决CSV导出保留2位小数的简洁方法

你之前用xtable的方法行不通,因为xtable()生成的是LaTeX/HTML格式的表格对象,没法直接传给write_csv()处理。下面给你几个简洁的实现方案,完美兼容Excel和CSV格式:

方案1:基础R快速处理(单数值列)

直接对目标列做四舍五入保留2位小数,再导出:

var1 <- sample(c("A","B"), size=10, replace=T)
var2 <- rnorm(10, mean=5, sd=1)
df <- data.frame(var1, var2)
library(readr)

# 处理数值列
df$var2 <- round(df$var2, 2)
# 导出CSV(用write_excel_csv更兼容Excel)
write_excel_csv(df, "test.csv")

方案2:批量处理所有数值列

如果数据框里有多个数值列,用一行代码批量处理:

# 筛选所有数值列并统一保留2位小数
df[sapply(df, is.numeric)] <- lapply(df[sapply(df, is.numeric)], round, 2)
write_excel_csv(df, "test_all_cols.csv")

方案3:转成字符串格式避免Excel显示异常

如果担心Excel打开时自动转换格式(比如科学计数法),可以把数值转成固定2位小数的字符串:

library(dplyr)
df %>%
  mutate(across(where(is.numeric), ~sprintf("%.2f", .x))) %>%
  write_excel_csv("test_excel_friendly.csv")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 06:15:55