回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在使用Python分析大量CSV数据。该数据包含给定时间戳和主机对的4种不同类型的度量,度量类型在每行的第一个字段中指示。下面是一个简化的示例:</p>
<pre><code>metric,timestamp,hostname,value
metric1,1488063747,example01.net,12
metric2,1488063747,example01.net,23
metric3,1488063747,example01.net,34
metric4,1488063747,example01.net,45
metric1,1488063788,example02.net,56
metric2,1488063788,example02.net,67
metric3,1488063788,example02.net,78
metric4,1488063788,example02.net,89
</code></pre>
<p>因此,对于每个<code>row</code>(实际上,列表列表中的一个列表),我制作一个由时间戳和主机名组成的索引:</p>
<pre><code>idx = row[1] + ',' + row[2]
</code></pre>
<p>现在,根据第一个字段(列表元素)的内容,我执行如下操作:</p>
<pre><code>if row[0] == 'metric1': metric_dict[idx] = row[3]
</code></pre>
<p>我对4个指标中的每一个都这样做。这是可行的,但似乎应该有更好的办法。似乎我需要根据第[0]行的内容以某种方式隐式或间接地选择要使用的词典,但我的搜索没有产生结果。在本例中,4<code>if</code>行并不难,但是在一个文件中包含更多的度量类型并不罕见。有没有可能做到这一点,并在阅读列表后留下多少词典?多谢各位</p>