1
一個table.png我有以下創建從列表
- 列表:
var = [n, x ,Y, y, E]
; - 其中:
n
,x
,Y
,y
,E
是相同長度的列表;
如何將var
中的信息輸出到圖像表中,以便在一列中顯示n
的信息?
我正試圖在乳膠中使用此表,因此歡迎任何其他格式的導出。我試過csv,但信息在Excel中顯示不正確。
一個table.png我有以下創建從列表
var = [n, x ,Y, y, E]
;n
,x
,Y
,y
,E
是相同長度的列表;如何將var
中的信息輸出到圖像表中,以便在一列中顯示n
的信息?
我正試圖在乳膠中使用此表,因此歡迎任何其他格式的導出。我試過csv,但信息在Excel中顯示不正確。
讓我們使用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位十進制數字)
非常感謝。我只有一個問題。我的x的形式是[0.0,0.2,0,4 ....]。但是,在csv文件中,我獲得了0.40000000000000002。你知道我可以改正嗎? –
默認的浮點到字符串轉換就是這樣。看我的編輯。 –