使用 csv.DictReader 处理 CSV 文件很棒 - 但我有带有注释行的 CSV 文件(由一行开头的散列表示),例如:
# 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
csv 模块 不包含任何跳过此类行的方法。
我可以轻松地做一些骇人听闻的事情,但我想有一种很好的方法可以将 csv.DictReader
包装在其他一些迭代器对象周围,这些迭代器对象会进行预处理以丢弃这些行。
原文由 Dan Stowell 发布,翻译遵循 CC BY-SA 4.0 许可协议
实际上这与
filter
配合得很好: