0

リスト (3 項目) を列 1、2、および 3 に繰り返し書き込み、csv を繰り返すコードがあります。

list = [13243, 3452345, 234234]

def listplace(in_path):
    file_obj = open(in_path, 'wb')
    writer = csv.writer(file_obj)

    for row in in_path:
        for column in row:
            writer.writerows([list])


    file_obj.close()

列1に保持する必要がある情報を上書きする出力は次のとおりです。

13243   3452345 234234
13243   3452345 234234
13243   3452345 234234
13243   3452345 234234
13243   3452345 234234
13243   3452345 234234

これを出力として使用したいと思います(ヘッダー付きの列1に情報がなくなるまで各項目を繰り返します):

Header  Header
info    13243
info    3452345
info    234234
info    13243
info    3452345
info    234234
info    13243
info    3452345
info    234234
info    13243
info    3452345
info    234234
info    13243

これには反復ループが必要ですか? もしそうなら、どうすれば行 2、列 2 から開始できますか?

4

2 に答える 2

0

itertools.cycle()いくつかの情報を繰り返すために使用します。itertools.izip()最初の列にも値を生成するものと繰り返し列をペアにするために使用できます。

from itertools import izip, cycle

def listplace(in_path):
    with open(in_path, 'wb') as file_obj:
        writer = csv.writer(file_obj)

        for row in izip(info_source, cycle([13243, 3452345, 234234])):
            writer.writerow(row)

現在、それぞれrowが からの要素であり、 、またはのinfo_sourceいずれかとペアになっており、が尽きるまで循環します。132433452345234234info_source

于 2013-10-21T20:12:28.000 に答える