擅长:python、mysql、java
<p>很简单:制作一个包含记录列表的字典,输入给定列的内容(这里我使用的是第0列),然后循环这些记录
根据OP指定的简单规则,列出并输出包含在两个输出文件之一的记录列表中的每个记录。在</p>
<pre><code>from csv import reader, writer
inp = reader(open(...))
outs = [writer(open(fnm, 'w') for fnm in ('f30', 'f70')]
column, d = 0, {}
for rec in inp0:
d.setdefault(rec[column], []).append(rec)
for recs in d.values():
l = round(0.7*len(recs))
for n, rec in enumerate(recs):
outs[n<l].writerow(rec)
</code></pre>
<p><sup>布尔值是整数的子类,其值为1(当<code>n<l</code>)或0时,可用于索引<code>writer</code>s的列表。</sup></p>
<p>下面是使用IPython会话(稍微
编辑以减少空白)和一些人工数据</p>
^{pr2}$
<p>如您所见,第一个文件将获得原始记录的70%,而
第二个得到剩下的30%。在</p>