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

Writing lists of data to a text file column by column

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

 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()

不幸的是,这种代码只是将数据垂直写入文本文件我的意思是不像建议的那样table

假设它们的长度都相同,使用索引变量从每个中提取正确的条目。要点如下:

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

使用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()

你可以只使用 pandas 吗? 例如

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')