如何防止 write.csv 将 POSIXct、日期和时间类更改回字符/因子?

2023-11-21

我有一个 .csv 文件,其中每个字段分别表示日期时间、日期和时间。 本来它们都是字符字段,我对它们进行了相应的转换。 在我的代码末尾,如果我这样做:

str(data)

我会得到

datetime: POSIXct
date: Date
time: Class 'times'  atomic [1:2820392] (....) attr(*, "format")= chr "h:m:s"

现在,我对此非常满意,我想创建一个 .csv 文件,所以这就是我所拥有的:

write.csv(data, file = "data.csv", row.names = FALSE)

我也尝试过

write.table(data, "data.csv", sep = ",", row.names = FALSE)

我对两者都得到了相同的结果,这就是在编写新的 .csv 时我所有的转换都丢失了:一切都恢复为字符。

我怀疑我在 write 函数中遗漏了一些参数,但是我整个下午都在搜索,但我找不到什么。有人可以帮忙吗?


如果您想保留所有时间信息以便可以再次读入,则此方法应该有效:

dat <- data.frame(time=as.POSIXlt("2013-04-25 09:00 BST"), quantity=1)
dat2 <- dat
dat2$time <- format(dat2$time, usetz=TRUE)
write.csv(dat2, "time.csv", row.names=FALSE)

它给出以下 CSV 文件:

"time","quantity"
"2013-04-25 09:00:00 BST",1

其中明确显示时区信息;如果你申请write.csv到原来的dat,格式丢失。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止 write.csv 将 POSIXct、日期和时间类更改回字符/因子? 的相关文章

随机推荐

  • 如何将 AngularJS 与 Struts 1.x 结合使用

    我对 AngularJS 和客户端内容很陌生 我正在向使用 Struts 1 3 作为框架的旧应用程序添加一个新页面 我想使用 AngularJS 作为前端 我知道如何通过将 JSON 写入前端并返回来从操作类返回 JSONnull为前进的
  • 我可以将一种编译生成的目标文件链接到另一种编译生成的目标文件吗?

    更具体地说 我们假设两个编译器位于同一平台 操作系统 指令集 上 然而 其中一个目标文件是由依赖于编译器的代码生成的 另一方面 代码是面向对象的并且尊重封装 我需要这个来构建我正在制作的框架 目标平台是任何有GCC和Java虚拟机的系统 事
  • 在Linux中查找哪个驱动器对应哪个USB大容量存储设备

    我有几个 USB 大容量存储闪存驱动器连接到 Ubuntu Linux 计算机 Ubuntu 10 04 1 内核 2 6 32 25 386 我需要以编程方式区分它们 如果可能的话 从 bash 但我不怕编译 我需要找到哪个块设备对应于哪
  • 如何制作一个类的泛型是必需的?

    班级是 class Test p constructor data P 我希望以下代码不会通过类型检查 因为它没有传入泛型 new Test a 1 我知道上面的通用 P 会自动导出为 a number 但这不是我想要的 下面是 new T
  • 是否有一个应用程序可以从框架中删除未使用的类?

    因此 为了让您了解我正在尝试做什么 OOCSS 框架使用了大量的类 我将打包一个大约 2 5 兆的移动网站 并希望从 OOCSS 框架中删除所有未使用的类 文件 当然 我可以手工完成 但如果将来存在这样的东西 那就容易多了 有一个 Fire
  • 为什么我无法重定向 WriteConsole 的输出?

    在下面的程序中 我使用两个不同的函数打印到控制台 include
  • Swift 中的 parser.parse() 导致 EXC_BAD_ACCESS

    我正在跟进本教程作为我正在 Swift 中开发的 RSS feeder 应用程序的快速启动 我知道自本教程以来 Swift 中发生了一些变化 但它们似乎都没有解释为什么我遇到这个问题 我的 TableViewController 中的相关代
  • 什么是事件冒泡和捕获?

    事件冒泡和捕获有什么区别 什么时候应该使用冒泡和捕获 事件冒泡和捕获是 HTML DOM API 中事件传播的两种方式 当一个事件发生在另一个元素内的一个元素中 并且两个元素都注册了该事件的句柄时 事件传播模式决定于元素接收事件的顺序 通过
  • HEAD~ 与 HEAD^ 与 HEAD@{} 也称为波形符、插入符号与 at 符号

    HEAD 是当前分支的指针 我见过 HEAD 祖先的各种符号 包括 HEAD 2 HEAD 2 HEAD 2 HEAD HEAD 上述每一项具体意味着什么 这方面的文档在哪里 来自文档here HEAD 2 2 次提交早于 HEAD HEA
  • iPhone SDK 4.3 libav编译问题

    我遇到了奇怪的问题 我安装了 iPhone SDK 4 3 和 xCode 4 现在无法从 ffmpeg 为 ARMv6 架构编译 libav 这是我的编译脚本 它适用于 iPhone SDK 4 2 configure disable d
  • HTTP POST 请求的大小限制是多少?

    抱歉 如果这是重复的 我想它会是 但找不到任何东西 我有一个 Flex 应用程序 我通过 Internet Explorer 将数据发送回 PHP MySQL 服务器 我还没有遇到任何问题 但是提前知道这一点可能会为我节省大量的挫败感和工作
  • c 中与平台无关的 size_t 格式说明符?

    我想打印出一个类型的变量size t在 C 中 但似乎size t不同架构上不同变量类型的别名 例如 在一台机器 64 位 上 以下代码不会引发任何警告 size t size 1 printf the size is ld size 但在
  • 有没有办法使用 Kafka Confluence REST API 生成带有标头的 Kafka 消息?

    我正在尝试使用一些自定义标头向 Kafka 发送消息 但我找不到方法 根据文档 The POST topics string topic name API 无法将自定义标头附加到消息 有谁知道如何通过融合的 Kafka REST API 发
  • 在 ASP.NET MVC 的模型中调用 UrlHelper

    我需要在 ASP NET MVC 的模型中生成一些 URL 我想调用类似 UrlHelper Action 的方法 它使用路由来生成 URL 我不介意填写常见的空白 例如主机名 方案等 我可以调用任何方法吗 有没有办法构造一个UrlHelp
  • `np.concatenate` 具有稀疏矩阵的 numpy 数组

    数据集包含数值变量和分类变量 我将其分为两部分 cont data data cont variables values disc data data disc variables values 然后我用sklearn preprocess
  • 所有预加载链接的 Next.js 404 错误

    我是 next js 的新手 作为第一步 在开始开发实际的应用程序之前 我正在按照文档学习基础知识 现在 我正在努力尝试让预取工作 因为所有预加载的请求返回 404 错误 那么我的代码有什么问题吗 我怎么解决这个问题 演示存储库已开启git
  • T-SQL 四舍五入到小数位

    如何将 matchpercent 的结果四舍五入到小数点后两位 我使用以下命令返回一些结果 DECLARE topRank int set topRank SELECT MAX RANK FROM FREETEXTTABLE titles
  • XML 序列化 - 何时使用 DataContractSerializer / Binary / XMLSerialiser

    我已经看这个有一段时间了 似乎不鼓励二进制序列化 因为对字段名称的任何更改都会破坏序列化 不好 XMLSerializer 是有问题的 因为您必须提供无参数构造函数和公共字段 尽管您确实可以更好地控制作为属性或元素的元素及其命名 DataC
  • mysql_escape_string 整个后数组?

    我想知道是否可以将 my sql escape 字符串存储到整个 POST 和 GET 数组中 这样就不会错过任何变量 不知道如何测试它 否则我自己会测试 谢谢 我会用array walk 功能 它更适合 因为修改了 POST 超全局 因此
  • 如何防止 write.csv 将 POSIXct、日期和时间类更改回字符/因子?

    我有一个 csv 文件 其中每个字段分别表示日期时间 日期和时间 本来它们都是字符字段 我对它们进行了相应的转换 在我的代码末尾 如果我这样做 str data 我会得到 datetime POSIXct date Date time Cl