我有两个列表
ids = [1,2,3]
values = [10,20,30]
我需要创建一个包含两列(id
和result
(的tsv文件,并将ids
和values
放在其中。输出应该像这个
id result
1 10
2 20
3 30
我在下面写了代码
output_columns = ['id','result']
data = zip(output_columns, ids, values)
with open('output.tsv', 'w', newline='') as f_output:
tsv_output = csv.writer(f_output, delimiter='t')
tsv_output.writerow(data)
但这给了我一个如下的输出,这是错误的
('id', '1', '10') ('result', '2','20')
我知道这种错误的输出是因为我使用zip
创建一行数据的方式。但我不知道该怎么解决。
请提出建议。
output_columns = ['id','result']
data = zip(ids, values)
with open('output.tsv', 'w', newline='') as f_output:
tsv_output = csv.writer(f_output, delimiter='t')
tsv_output.writerow(output_columns)
for id, val in data:
tsv_output.writerow([id, val])
使用pandas 更容易
In [8]: df = pd.DataFrame({"ids":[1,2,3], "values":[10,20,30]})
In [9]: df
Out[9]:
ids values
0 1 10
1 2 20
2 3 30
In [10]: df.to_csv("data.tsv", sep="t", index=False)