<p>用<a href="http://docs.python.org/2/library/csv.html#csv.DictReader">csv.DictReader</a>处理CSV文件很好-但是我有带注释行的CSV文件(在行的开头用散列表示),例如:</p>
<pre>
# step size=1.61853
val0,val1,val2,hybridisation,temp,smattr
0.206895,0.797923,0.202077,0.631199,0.368801,0.311052,0.688948,0.597237,0.402763
-169.32,1,1.61853,2.04069e-92,1,0.000906546,0.999093,0.241356,0.758644,0.202382
# adaptation finished
</pre>
<p>csv模块<a href="http://bugs.python.org/issue1225769">doesn't include any way to skip such lines</a>。</p>
<p>我可以很容易地做一些老生常谈的事情,但我想有一个很好的方法可以将csv.DicReader包装在其他迭代器对象上,然后对其进行预处理以丢弃行。</p>