在 python 中向文本文件添加额外的行

adding extra row to text file in python

我有一个类似这样的代码:

x = zip(sources,clist,RMSlist,residuelist)
name1 = string("sources")
name2 = string("clist")
name3 = string("RMSlist")
name4 = string("residuelist")
y = zip(name1,name2,name3,name4)
with open('test.csv', 'w') as f:
  writer = csv.writer(f, delimiter='\t')
  writer.writerows(y) 
  writer.writerows(x)   

我的目标是将每个数组写在一列中,但我想在该列上方为其定义(名称)。这是我尝试定义的 4 个名称。

只是为了更好地理解文本文件输出

我认为你的问题是因为你使用 zip()writerows 并在末尾使用 char s

您应该创建带有名称的普通列表

names = ["sources", "clist", "RMSlist", "residuelist"]

并使用writerow(末尾没有字符s)写单行

writer.writerow(names)  # without char `s`

顺便说一句: 你可以使用 name header 而不是 name names (这可能意味着很多对象),这意味着单个对象。


header = ["sources", "clist", "RMSlist", "residuelist"]

rows = zip(sources, clist, RMSlist, residuelist)

with open('test.csv', 'w') as f:
  writer = csv.writer(f, delimiter='\t')
  writer.writerow(header)  # without char `s` to write one row
  writer.writerows(rows)   # with char `s` to write many rows