2

私は大きなリストを持っており、一連のIDと関連する値が含まれていますが、極端に短縮されたバージョンは次のようになります。

large = [('550111', [(4, 5, 8), (6, -4, -6)]), ('222211', [(2, -4, 5), (1, 15, -4)])]

これをエクスポートして、にある方法でExcelにしたいと思い5501ますA1。次に、最初の値のセットがその下にB1あり、次のセットがB2、、、にスペースがあり、次に、にスペースがあり、最初の値のセットが関連しています。 、&​​、の2番目、、、。つまり、Excel(それ自体に独自のExcel長方形のものを持つすべての値)のように:B3C1C2C32222E1F1F2F3G1G2G3

550111
4 5 8
6 -4 -6
'space here (dont know how to add one)'
222211
2 -4 5
1 15 -4
'SPACE HERE AGAIN'

私は次のことを試しました:

writer_jobby = csv.writer(open('poo5.csv', 'wb'), delimiter=',')

for i in large:

    if i == '[':

        i.replace()

    if i == ']':

        i.replace()

    if i == '(':

        i.replace()

    if i == ')':

        i.replace()

    else:

        writer_jobby.writerow(i)  

[]しかし、リスト内のとをどのように処理するかで苦労しているので、私はまったくナンセンスになり()ます。誰かが私がデータを処理する方法に光を当てて、希望の方法でデータをエクスポートできるようにしていただければ幸いです。ありがとうございました。

感謝します。

編集

新しい希望のフォームを含む。絶対最大

550111
4,5,8 
6,-4,-6
'space here'
'Max:'
6, 5, 8
'space here'     
222211 
2,-4,5 
1,15,-4
'space here'
'Max:'
2, 15, 5 
'space here'
1, 2, 3, ........, 8904 
4

1 に答える 1

1

たぶん、このようなものが役立つでしょうか?

import csv
large = [('5501', [(4, 5, 8), (6, -4, -6)]), ('2222', [(2, -4, 5), (1, 15, -4)])]

with open("out1.csv", "wb") as fp: # open the file, call it fp, and autoclose it
    writer = csv.writer(fp, delimiter=",")
    for entry in large:
        writer.writerow([entry[0]]) # one-element list
        for line in entry[1]: # loop over each tuple in the second element
            writer.writerow(line)
        writer.writerow([]) # write an empty row

これにより、

localhost-2:coding $ cat out1.csv 
5501
4,5,8
6,-4,-6

2222
2,-4,5
1,15,-4

このcsvモジュールは通常、要素から行を書き込むことによって使用されます。何なのかわかりませんfinalが、から作られた文字列で何かをしようとしているようですが、largeうまくいきません。

于 2012-08-10T11:32:41.480 に答える