【问题标题】:How to export as .csv without changing column names' dashes and spaces into dots?如何在不将列名的破折号和空格更改为点的情况下导出为 .csv?
【发布时间】:2019-05-30 13:00:26
【问题描述】:

在我的数据框中,我的列名带有破折号和空格,例如地址类型。当我尝试导出为 .csv 时,破折号和空格变为点,因此“地址类型”变为 .csv 文件中的 address.type。

在导入 .csvs 时,我使用了 check.names = FALSE,但是,在导出时似乎没有类似的功能。

对于这个烦人的问题的任何帮助将不胜感激!

使用示例代码编辑问题:

df1 = data.frame("x 1" = 1, "x-2" = 2, check.names = F)
df2 = data.frame("y 1" = 1, "y-2" = 2, check.names = F)

Dflist <- list(df1, df2)
write.csv(Dflist[1],file="test.csv")

【问题讨论】:

  • 我无法重现该问题。如果我定义df = data.frame("x 1" = 1, "x-2" = 2, check.names = F),然后再做write.csv(df, file = "test.csv"),文件的第一行是"","x 1","x-2",看起来就好了。
  • 嗯,这真的很奇怪。我试过你的代码,正如你提到的,破折号和空白是完整的。我将不得不进一步调查,看看问题是否是由其他原因引起的。尽管如此,感谢您的及时回复!
  • 嗨 Gregor,我能够重现该问题。我现在用示例代码编辑了这个问题。如果你能看一下就好了。
  • Dflist[1] 在最后一行应该是Dflist[[1]]Dflist[1] 不是数据框,它是一个包含 data.frame 的组件列表,但 Dflist[[1]] 是一个数据框。

标签: r


【解决方案1】:

使用 tidyverse 生态系统中 write.csv 的 write_csv insterad,它是 readr 库的一部分。

它完全符合您的要求。

【讨论】:

  • 不能为我解决问题。
猜你喜欢
  • 2017-05-01
  • 2015-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-11
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多