如何将Python中的二维列表导出为ex​​cel?

时间:2016-04-30 11:27:22

标签: python excel list

我有一个如下所示的列表:

[[[u'example', u'example2'], [u'example', u'example2'], [u'example', u'example2'], [u'example', u'example2'], [u'example', u'example2']], [[5.926582278481011, 10.012500000000001, 7.133823529411763, 8.257352941176471, 7.4767647058823545]]]

我想通过以下方式将此列表保存到Excel文件中:

第1栏:[例如,示例,......,示例]

第2栏:[example2,example2,...,example2]

第3栏:[5.926582278481011,10.012500000000001,...,7.4767647058823545]

3 个答案:

答案 0 :(得分:1)

  1. 我通过添加空格和换行符来修改数据布局,但结果在内存中与输入数据完全相同。我将它分配给一个变量来处理它。
  2. 您的数据不是二维的:它有三个维度。我们可以调用尺寸表,行和列。您指定的结果是一张五行三列。需要将第二张纸的数据(数字)放入第一张纸的列中。第一个for循环就是这样。然后,为变量工作表分配数据中两个工作表中第一个的值。
  3. 您在Python中构建的工作表仅包含数据,因此您不需要Excel包来创建XLS文件。如果只有数据,则创建CSV文件会更容易。
  4. 运行程序。
  5. 要在Excel中打开生成的文件,请双击此代码创建的export.csv文件。 Excel 2013(可能稍后)在“文件”菜单上没有导入,因此请单独打开文件,选择它,复制并粘贴到您希望它移动到的工作表中。

    import csv
    
    yourdata = [    
            [   
                [u'example', u'example2'], 
                [u'example', u'example2'], 
                [u'example', u'example2'], 
                [u'example', u'example2'], 
                [u'example', u'example2']
            ], 
            [
                [   5.926582278481011, 
                    10.012500000000001, 
                    7.133823529411763, 
                    8.257352941176471, 
                    7.4767647058823545
                ]
            ]
    ]
    
    for i in range(len(yourdata[0])):
        yourdata[0][i].append(yourdata[1][0][i])
    
    sheet0 = yourdata[0]
    
    newFile = open('export.csv','w',newline='')
    newWriter = csv.writer(newFile, dialect='excel')
    for i in range(len(sheet0)):
        newWriter.writerow(sheet0[i])
    newFile.close()
    

答案 1 :(得分:1)

您只需稍微重新排列数据:

import csv

col1 = [i[0] for i in s[0]]
col2 = [i[1] for i in s[0]]
col3 = s[1][0]

with open('results.csv', 'w') as o:
    writer = csv.writer(o, delimiter=',')
    writer.writerows(zip(col1, col2, col3))

您可以打开此文件并将其导入Excel;创建一个新工作簿,然后单击数据选项卡,然后从文件中插入。

答案 2 :(得分:0)

请使用以下链接探索不同的方式:

http://www.python-excel.org/

xlwt是其中一种方式:

http://xlwt.readthedocs.io/en/latest/

https://yuji.wordpress.com/2012/04/19/python-xlwt-writing-excel-files/

如果你想使用xlwt,那么下面是代码:

import xlwt
workbook = xlwt.Workbook()
sheet = workbook.add_sheet("Sheet")

for i in range(len(rows)):
    for j in range(len(rows[i])):
        sheet.write(i, j, rows[i][j])

workbook.save("test.xls")

如果要使用上述代码,则必须先安装xlwt。有关更多信息,请参阅xlwt文档。