<p>这是输入文件和输出格式的正确描述吗?你知道吗</p>
<p>输入文件包括:</p>
<ul>
<li>17行,后面是</li>
<li>每组10行-每组持有一个事务id</li>
</ul>
<p>每个输出行包括:</p>
<ul>
<li>29个公共字段,然后是</li>
<li>从上述10个行组中的每一个派生出5个字段</li>
</ul>
<p>所以我们把它翻译成一些Python:</p>
<pre><code>def createTxns(fh):
"""fh is the file handle of the input file"""
# 1. Read 17 lines from fh
first17 = []
for i in range(17):
first17.append( fh.readLine().rstrip() )
# 2. Form the common fields.
commonFields = first17 + first17[0:12]
# 3. Process the rest of the file in groups of ten lines.
while True:
# read 10 lines
group = []
for i in range(10):
x = fh.readline()
if x == '':
break
group.append( x.rstrip() )
if len(group) <> 10:
break # we've reached the end of the file
fields = commonFields + [ group[2], group[4], group[6], group[7[, group[9] ]
row = ",".join(fields)
print row
def main():
with open("input-file", "r") as fh:
createTxns(fh)
main()
</code></pre>
<p>此代码显示如何:</p>
<ul>
<li>打开文件句柄</li>
<li>从文件句柄读取行</li>
<li>去掉结尾的换行符</li>
<li>读取文件时检查输入是否结束</li>
<li>将列表串联在一起</li>
<li>把线连在一起</li>
</ul>