【发布时间】:2012-03-07 19:33:53
【问题描述】:
我正在尝试使用 powershell 将 csv 转换为 xml 表。有没有一种方法可以准确地指定 xml 将输出的内容。
Example CSV input:
TIME,TEMP,HUMID,DEWPT
"03/07/2012 12:04:59",72.1,73.2,62.5
"03/07/2012 11:34:53",71.9,73.8,62.5
"03/07/2012 11:04:46",71.8,74.6,62.7
"03/07/2012 10:34:39",72.3,72.6,62.4
"03/07/2012 10:04:33",71.9,72.1,61.9
Example XML output:
<?xml version="1.0" encoding="UTF-8" ?>
- <chart>
- <series>
<value xid="0">03/07/2012 00:02:06</value>
<value xid="1">03/07/2012 00:32:17</value>
<value xid="2">03/07/2012 01:02:26</value>
<value xid="3">03/07/2012 01:32:35</value>
<value xid="4">03/07/2012 02:02:42</value>
</series>
- <graphs>
- <graph gid="0" color="#32CD32" axis="right" title="Temperature">
<value xid="0">43.1</value>
<value xid="1">44.0</value>
<value xid="2">43.6</value>
<value xid="3">43.1</value>
<value xid="4">42.7</value>
</graph>
- <graph gid="1" color="#FFD700" axis="left" title="Humidity">
<value xid="0">64.6</value>
<value xid="1">100.0</value>
<value xid="2">57.7</value>
<value xid="3">71.6</value>
<value xid="4">44.3</value>
</graph>
<graph gid="2" color="#8B008B" axis="left" title="Dewpoint">
<value xid="0">30.4</value>
<value xid="1">44</value>
<value xid="2">28.4</value>
<value xid="3">32.9</value>
<value xid="4">22.6</value>
</graph>
</graphs>
</chart>
数据可能不是 100% 对齐的,我没有从同一个地方抓取每个样本,但你应该得到偏差。这样的事情可能吗?
另外...我维护一个大型的 master-csv。每小时添加两条记录。是否可以像那样巧妙地使 csv-to-xml 增量,或者我每次都必须针对 master-csv 运行脚本。我知道它会在 master-csv 上运行,但我担心随着时间的推移,随着列表的不断增长,它需要的时间会越来越长。如果我能够只添加新条目,那会更快。
【问题讨论】:
标签: xml powershell csv