2011-05-31 83 views
5

我正在编写一个python程序来处理.hdf文件,我想将这些数据输出到excel电子表格。我把数据到一个数组,如下所示:如何编写python数组(data = [])为excel?

代码:

data = [] 

for rec in hdfFile[:]: 
    data.append(rec) 

从这里,我已创建了9列和171行的2D阵列。

我正在寻找一种方法来遍历此数组,并写入每个条目为了一张表。我想知道如果我应该创建一个列表,或者如何与我创建的数组 做到这一点。

任何帮助将不胜感激。

+2

能您只需打一个逗号或制表符分隔的文件,然后在Excel中打开它? – mrK 2011-05-31 16:29:14

+0

请更正代码格式。所有需要的格式说明可以在编辑页面找到。甚至在编辑区域下面还有一个预览窗口。 – viraptor 2011-05-31 16:29:22

回答

5

要注意的一个很好的文件类型是CSV或逗号分隔值文件。这是一个非常简单的文本文件类型(通常已经与Excel或其他电子表格应用程序关联),其中每个逗号分隔同一行上的多个单元格,并且文件中的每个新行代表新行中的数据。 I.E .:

A,B,C 
1,2,3 
"Hello, World!" 

上面的例子会导致第一行有3个单元格,每个单元格保存每个字母。新行说明1,2和3在下一行,每行都在自己的单元格中。如果单元格中需要逗号,则可以将该单元格放在引号中。在我的例子中,“你好,世界!”将存在于第三行第一个单元格中。对于更正式的定义:http://www.csvreader.com/csv_format.php

+0

非常感谢!我为链接添加了书签,我相信它将在未来有所帮助。 – Corey 2011-05-31 17:51:13

3

内置解决方案是python的csv模块。您可以创建一个csv.writer并使用它将行附加到.csv文件,该文件可以在Excel中打开。

+0

谢谢!它运行良好,并将成为制作一些有用视觉效果的有用工具! – Corey 2011-05-31 17:53:26

7

就像@senderle说,使用csv.writer

a = [[1,2,3],[4,5,6],[7,8,9]] 
ar = array(a) 

import csv 

fl = open('filename.csv', 'w') 

writer = csv.writer(fl) 
writer.writerow(['label1', 'label2', 'label3']) #if needed 
for values in ar: 
    writer.writerow(values) 

fl.close()  
+0

非常感谢,这将是非常有益的!我最初搜索论坛的方式来做到这一点与xlwt,但这将工作得很好。再次感谢! – Corey 2011-05-31 17:42:03

+0

我对数组做了同样的处理,所以如果您有任何疑问,请询问;) – pavid 2011-05-31 17:43:39