我有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()
不幸的是,这种代码只是垂直地在文本文件中写入数据,我的意思是不喜欢建议的表格
答案 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])