2011-05-31 44 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