2012-07-23 92 views
1

我确信有一个简单的方法可以做到这一点,所以在这里。我正试图将我的列表导出为CSV列。 (基本上,这是另一个程序如何能够使用我生成的数据。)我有一个名为[frames]的组,其中包含[frame001],[frame002],[frame003]等。我想要CSV文件生成的第一列中的[frame001],第二列中的[frame002]的值等等。我想如果我可以将文件保存为CSV文件,我可以在Excel中对其进行处理,但是,我认为有一种解决方案可以跳过该步骤。将列表导出到CSV /空格分隔的列表和每个列表列中的列表

这是我一直在使用到目前为止已经试过代码:

import csv 

data = [frames] 
out = csv.writer(open(filename,"w"), delimiter=',',quoting=csv.QUOTE_ALL) 
out.writerow(data) 

我也有尝试:

import csv 

myfile = open(..., 'wb') 
wr = csv.writer(myfile, quoting=csv.QUOTE_ALL) 
wr.writerow(mylist) 

如果有一种方法可以做到这一点,使所有的值是空格分隔,这将是理想的,但在这一点上,我一直在尝试这个好几个小时,并且无法摆脱正确的解决方案。

+0

可能的重复[将列表导出到CSV或XML以及每个子列表在其自己的列中 - 转发](http://stackoverflow.com/questions/11620597/exporting-a-list-to-a-csv- or-xml-and-each-sublist-in-its-column-repost) – 2012-07-24 09:32:27

回答

1

你所描述的是你想翻译一个二维数据数组。在Python中,只要内部列表的长度都相同,只需使用zip函数即可轻松实现。

out.writerows(zip(*data)) 

如果他们不所有相同的长度,你可以使用itertools.izip_longest,以填补一些默认值(甚至'')的其余字段。

+0

你不得不原谅我,因为我是Python的新手。我无法获得该代码的工作。这是我到目前为止有: 导入CSV 数据= [帧] OUT = csv.writer(开放(文件名, “W”),分隔符= '',报价= csv.QUOTE_ALL) 出来。作家(zip(*数据)) – 2012-07-23 20:05:54

+0

http://stackoverflow.com/q/11620597/1544634 – 2012-07-23 21:13:29