<p>您可以编写一个生成器,成对地迭代行。用空格连接它们,然后用逗号连接<em>那个</em></p>
<pre><code>text = """LEVERANDØRENS VARENUMMER
31358DC2
EAN NUMMER
4005176465017"""
def grab_2(seq):
iseq = iter(seq)
while True:
try:
yield next(iseq), next(iseq)
except StopIteration:
break
out = ",".join(" ".join(vals) for vals in grab_2(text.split("\n")))
print(out)
</code></pre>
<p>您可以使用pythonshell来探索这个解决方案,并根据需要添加功能</p>
<pre><code>>>> text = """LEVERANDØRENS VARENUMMER
... 31358DC2
... EAN NUMMER
... 4005176465017"""
>>>
>>> def grab_2(seq):
... iseq = iter(seq)
... while True:
... try:
... yield next(iseq), next(iseq)
... except StopIteration:
... break
...
>>>
</code></pre>
<p>拆分该行将为您提供一个行列表,如果您愿意,可以进一步处理这些行</p>
<pre><code>>>> lines = text.split("\n")
>>> lines
['LEVERANDØRENS VARENUMMER', '31358DC2', 'EAN NUMMER', '4005176465017']
</code></pre>
<p>一次抓取两行可以得到元组</p>
<pre><code>>>> grabbed = list(grab_2(lines))
>>> for g in grabbed:
... print(g)
...
('LEVERANDØRENS VARENUMMER', '31358DC2')
('EAN NUMMER', '4005176465017')
</code></pre>
<p>这些块可以通过多种方式进行处理。除了与空格连接外,还可以使用格式说明符</p>
<pre><code>>>> for g in grabbed:
... print("{0};{1}\n".format(*g), end="")
...
LEVERANDØRENS VARENUMMER;31358DC2
EAN NUMMER;4005176465017
</code></pre>