逐列将数据列表写入文本文件

时间:2016-05-22 17:25:01

标签: python numpy output

我有3个列表,a,b,c如何以表格(行和列)的格式将它们写入文本文件,如下所示:

 time(s) voltage(V)    current(A)
       0    0000000000      101101010
       0.0005   0000110001  101011000
      0.001 0001100000      101011000

我试着写:

powdata=open("powdata.txt","w")
for i in a:
   powdata.write("%s\n"%i)
for j in b:
   powdata.write("%s\n"%j)

powdata.close()

不幸的是,这种代码只是垂直地在文本文件中写入数据,我的意思是不喜欢建议的表格

3 个答案:

答案 0 :(得分:2)

使用zip交错列表

a=['apple', 'banana', 'orange']
b=['a', 'b', 'c']

powdata=open("powdata.txt","w")
for val in zip(a,b):
    powdata.write('{}, {}\n'.format(val[0], val[1]))
powdata.close()

答案 1 :(得分:0)

你可以用熊猫吗?  e.g。

import pandas as pd
df = pd.DataFrame({'time(s)' : [0, 0.005, 0.001], 'voltage(V)' : ['0000000000','0000110001','0001100000'], 'current(A)' : ['101101010','101011000','101011000']})

或者,如果

a = [0, 0.005, 0.001] 
b = ['0000000000','0000110001','0001100000']
c = ['101101010','101011000','101011000']

你可以做到

df = pd.DataFrame({'time(s)' : a, 'voltage(V)' : b, 'current(A)' : c})

然后

df.to_csv('powdata.txt', sep='\t')

答案 2 :(得分:-1)

假设它们的长度都相同,请使用索引变量从每个中拉出正确的条目。这是要点:

for i in len(a):
   print(a[i], b[i], c[i])