1

私は問題があります。言葉で説明するとめちゃくちゃになるので、写真で。

私のコード:

import csv

def mytest():
    s1 = 'post'
    s2 = 'a_num'
    s3 = ['personA','GenderA','personB','GenderB','personC','GenderC','personD','GenderD','personE','GenderE',]
    s4 = ['comment by F','comm_F_gender','comment','ano_num','comment by G','comm_G_gender','comment','ano_num','comment by H','comm_H_gender','comment','ano_num']      
    with open('mytestfb.csv', 'a') as csvfile:
        spamwriter = csv.writer(csvfile, delimiter=',',
                                quotechar='|', quoting=csv.QUOTE_MINIMAL)
        spamwriter.writerow([s1.encode('utf-8'),s2.encode('utf-8')])
        x = 0
        while(x < len(s3)):
            spamwriter.writerow(['','',s3[x].encode('utf-8'),s3[x+1].encode('utf-8')])
            x += 2
        x = 0
        while(x < len(s4)):
            spamwriter.writerow(['','','','',s4[x].encode('utf-8'),s4[x+1].encode('utf-8'),s4[x+2].encode('utf-8'),s4[x+3].encode('utf-8')])
            x += 4

これは、このコードが行っていることです:

ここに画像の説明を入力

これは私がコードで行う必要があるものです:

ここに画像の説明を入力

4

1 に答える 1

1

それはコード全体ではありませんか?したがって、s4 の 4 つのアイテムごとに理解し、s3 の 2 つのアイテムが行を表す場合。

def mytest():
    s1 = 'thing1'
    s2 = 'a_number'
    s3 = ['personA','GenderA','personB','GenderB','personC','GenderC','personD','GenderD','personE','GenderE',]
    s4 = ['comment by F','comm_F_gender','comment','ano_num','comment by G','comm_G_gender','comment','ano_num','comment by H','comm_H_gender','comment','ano_num']      
    with open('mytestfb.csv', 'a') as csvfile:
        spamwriter = csv.writer(csvfile, delimiter=',',
                            quotechar='|', quoting=csv.QUOTE_MINIMAL)
        exportlist=[s1,s2]
        for count in range(len(s3)/2):
            exportlist+=s3[count*2-1:count*2]
            try:
                exportlist+=s4[count*4-1+count*4]
            except IndexError:
                pass
        spamwriter.writerow(exportlist.encode('utf-8'))
于 2013-07-02T20:06:48.900 に答える