【发布时间】:2012-03-10 02:16:04
【问题描述】:
我也在 powershell usenet 组上发布了这个,但我认为它现在基本上已经死了。
我正在忙于编写脚本。同时使用 powershell 和 日志解析器。我目前正在尝试将 csv 输入和输出转换为 数据库。我有一个很好的工作脚本,但有一个问题。
我的一个字段应该是日期时间类型。但是导出的 csv 从 powershell 通过 export-csv 使它成为一个字符串。我更喜欢它 是日期时间格式。我研究了类型转换(使用 LogParser)和 进入 ParseExact(使用 powershell),但我迷路了。
这是 export-csv 正在制作的 csv 的示例:
"TIME","TEMP","HUMID","DEWPT"
"06/28/2011 12:53:13","70.9","79.8","63.6"
"06/28/2011 12:23:07","70.8","78.6","63.1"
"06/28/2011 11:53:00","70.8","78.9","63.2"
"06/28/2011 11:22:53","70.7","78.4","62.9"
这是我为 ParseExact(在 powershell 中)提出的建议:
{ [datetime]::ParseExact($_."TIME","MM'/'dd'/'YYYY' 'HH':'MM':'SS") }
如果您需要查看我用来将 csv 数据附加到 accdb 数据库让我知道,我会发布它。我对演员发生的地方没有偏好。我在 powershell 中制作 CSV,然后通过 logparser 将其复制到 Access 中的表中。
感谢收看。
【问题讨论】:
-
parseexact 似乎没有必要。该日期格式使用默认解析方法解析得很好:[datetime]"06/28/2011 12:53:13"
-
[datetime] 或 [datetime] 都不行::
-
使用您发布的测试数据作为 test_csv.csv,这会吐出 [datetime] 对象:import-csv test_csv.csv | foreach {$_.time -as [日期时间]}
-
这样:import-csv test_csv.csv |% {[datetime]$($_.time)}
-
我开始认为这可能是区域设置。
标签: powershell logparser