2016-12-12 183 views
1

一個table.png我有以下創建從列表

  • 列表:var = [n, x ,Y, y, E];
  • 其中:n,x,Y,y,E是相同長度的列表;

如何將var中的信息輸出到圖像表中,以便在一列中顯示n的信息?

我正試圖在乳膠中使用此表,因此歡迎任何其他格式的導出。我試過csv,但信息在Excel中顯示不正確。

回答

0

讓我們使用csv模塊創建一個小例子,;作爲分隔符,因此Excel默認打開它。

我已經定義了3個長度相等的列表,並且構建了這些列表的列表。

關鍵是要轉線的使用zip*運營商擴大參數爲子列表列,所以zip交織每個子列表中的每個元素,構建一個新的記錄。

然後在結果迭代器上調用csv.writer.writerows來獲取列中的數據。

代碼:

import csv 

n=list(range(1,10)) 
X=list(range(11,20)) 
E=list(range(21,30)) 

l = [n,X,E] 

with open("foo.csv","w",newline="") as f: 
# with open("foo.csv","wb") as f: # use this instead for legacy Python 2.x 
    cr = csv.writer(f, delimiter=";") 
    cr.writerows(zip(*l)) 

結果(文本):

1;11;21 
2;12;22 
3;13;23 
4;14;24 
5;15;25 
6;16;26 
7;17;27 
8;18;28 
9;19;29 

打開它在Excel中,你會得到3名整齊的列。

編輯:如果按照你的評論,你浮點數,並要限制的位數,通過更換csv.writerows行:

cr.writerows((["{:.3}".format(float(x)) for x in row] for row in zip(*l))) 

(每個數據轉換爲float與顯示3位十進制數字)

+0

非常感謝。我只有一個問題。我的x的形式是[0.0,0.2,0,4 ....]。但是,在csv文件中,我獲得了0.40000000000000002。你知道我可以改正嗎? –

+0

默認的浮點到字符串轉換就是這樣。看我的編輯。 –