<p>在看代码之前,<strong>了解CSV的结构:</strong></p>
<ul>
<li>CSV文件至少有6列</li>
<li>第0到4列有一些随机数据,第5列有数学表达式</li>
</ul>
<p>简而言之:</p>
<pre><code> | 0 | 1 | 2 | 3 | 4 | 5 | - - -
-+ -+ -+ -+ -+ -+ -+
0 | d00 | d01 | d02 | d03 | d04 | e05 | - - -
1 | d10 | d11 | d12 | d13 | d14 | e15 | - - -
2 | d20 | d21 | d22 | d23 | d24 | e25 | - - -
. | . | . | . | . | . | . |
. | . | . | . | . | . | . |
. | . | . | . | . | . | . |
</code></pre>
<hr/>
<p><strong>代码的作用如下:</strong></p>
<ol>
<li>CSV文件以读取模式打开</li>
<li>将创建一个全局列表<code>dataInventoryList</code>,以将数据存储在CSV中</li>
<li><code>for</code>循环遍历CSV文件中的<strong>行</strong></li>
<li>当前行中的数据被视为<code>list</code></li>
<li><code>eval()</code>语句解决该行中的数学表达式,并将结果追加到前一个<code>list</code></li>
<li><code>list</code>附加到<code>dataInventoryList</code></li>
</ol>
<hr/>
<p>结果<code>dataInventoryList</code>将是:</p>
^{pr2}$
<p>其中<code>rAB</code>表示通过求解<code>eAB</code>得到的结果</p>
<hr/>
<p>代码中的<code>for</code>循环的更容易理解的等价物是:</p>
<pre><code>dataInventoryList = []
for aRow in myFile:
rowList = [ aRow[0] , aRow[1] , aRow[2] , aRow[3] , aRow[4] ]
rowList.append( eval(aRow[5]) )
dataInventoryList.append( rowList )
</code></pre>
<p>希望这有帮助。。!在</p>