在python中将数据导出到excel文件的列中

时间:2015-03-01 05:09:49

标签: python excel

这是我的代码:

import random
from random import shuffle

fileName = 'test'
dataFile = open("DD" + fileName+'.csv', 'w')
dataFile.write('trial,numbers') #data headers for .csv file

a = [1,2]

for i in range(4):
     shuffle(a)
     if a == [1,2]:
         num = 'top'
     else:
         num = 'bottom'

    print a
    print num

    info = []
    i = str(i)
    info.append(',')
    info.append(i)
    info.append(',')
    info.append(num)

    dataFile.writelines(info)

此代码随机化一个订单,然后将其标记为“顶部”'或者'底部' 4次,并导出一个excel文件。问题是,当它导出时,它会把它放在一排。我想要做的是将它导出到专栏中,以便它们成为标题' trial'和'数字'。任何帮助将不胜感激。 :)

1 个答案:

答案 0 :(得分:1)

你没有写任何行尾字符,所以一切都在一行(这就是为什么你把它看成一行)。

使用csv模块,您可以简化代码:

import csv
import random

a = [1,2]

with open('DD{}filename.csv'.format(fileName), 'w') as f:
    writer = csv.writer(f, delimiter=',')
    writer.writerow(['trial','numbers']) # Note this is a two element
                                         # list, not a string

    for i in range(4):
        random.shuffle(a)
        if a == [1,2]:
           num = 'top'
        else:
           num = 'bottom'

        writer.writerow([i, num])