2016-12-12 146 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

默认的浮点到字符串转换就是这样。看我的编辑。 –