Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中向文本文件添加额外的行_Python_Arrays_String_Csv_Zip - Fatal编程技术网

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

在python中向文本文件添加额外的行,python,arrays,string,csv,zip,Python,Arrays,String,Csv,Zip,我有一个类似这样的代码: 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

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

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
(这可能意味着许多对象)



writer.writerow([“sources”、“clist”、“RMSlist”、“residuelist”])
如果您将名称保留为list
all_name=[“sources”、“clist”、“RMSlist”、“residuelist”]
,则会更简单,然后您可以使用
for
-循环创建带有
字符串(name)
writer.writerow[所有名称]的新列表
writerows(x)您试图用它保存什么?如果这是名称/定义,那么您应该在
writerows(y)
之前编写它以使其位于顶部。现在,当我循环您的代码时,我认为您的所有问题都是因为您使用
zip()
-您必须在不使用
zip()的情况下创建正常列表
y=[“sources”、“clist”、“RMSlist”、“residuelist”]
并在word
writerow
中写入
writerow(y)
而不使用字符
s
谢谢您的帮助,最后没有注意到s!
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