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。你知道我可以改正吗? –
默认的浮点到字符串转换就是这样。看我的编辑。 –