<p><strong>快速肮脏</strong></p>
<p>如果安装了AWK:</p>
<pre><code># $2 for the second column
os.system("awk '{print $2}' inputdata1.txt")
</code></pre>
<hr/>
<p><strong>使用类</p>
<p>上课:</p>
<pre><code>class getCol:
matrix = []
def __init__(self, file, delim=" "):
with open(file, 'rU') as f:
getCol.matrix = [filter(None, l.split(delim)) for l in f]
def __getitem__ (self, key):
column = []
for row in getCol.matrix:
try:
column.append(row[key])
except IndexError:
# pass
column.append("")
return column
</code></pre>
<p>如果<code>inputdata1.txt</code>看起来像:</p>
<pre>
hel lo wor ld
wor ld hel lo
</pre>
<p>你会得到这个:</p>
<pre class="lang-py prettyprint-override"><code>print getCol('inputdata1.txt')[1]
#['lo', 'ld']
</code></pre>
<hr/>
<p><strong>附加说明</strong></p>
<ul>
<li>您可以使用<a href="http://pyawk.sourceforge.net/" rel="noreferrer">^{<cd2>}</a>来获得更多awk特性</li>
<li>如果使用Quick'n dirty方法,请使用<code>subprocess.Popen</code></li>
<li>您可以更改分隔符<code>getCol('inputdata1.txt', delim=", ")</code></li>
<li>使用<code>filter</code>删除空值或取消注释<code>pass</code></li>
</ul>