我有以下
var = [n, x ,Y, y, E]
; n
,x
,Y
,y
,E
是相同长度的列表; 如何将var
中的信息输出到图像表中,以便n
的信息显示在一列中?
我试图在乳胶中使用此表,因此欢迎以任何其他格式导出。我在csv中尝试过,但信息在Excel中显示不正确。
答案 0 :(得分: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位小数)