我想用Python添加标题行我的最终输出csv。我怎样才能做到这一点?首先,我删除了我的主文件items.csv
的标题,因为最后python也会在标题中添加'target'
个字。但在添加单词后我想写一个新的标题。
这是我的代码:
import csv
from itertools import islice
import os
with open('items.csv') as sample, open('items_50.csv', "w") as out:
csv1=csv.reader(sample)
header = next(csv1, None)
csv_writer = csv.writer(out)
sirali = sorted(csv1, key=lambda x:int(x[0]), reverse=True)
csv_writer.writerows(islice(sirali,50))
file1=open('items_50.csv','rb')
readfile=csv.reader(file1,)
file2=open('final.csv','wb')
writefile=csv.writer(file2,delimiter='"')
result=()
for row in readfile:
result= [row[0]+','+row[1]+','+row[2]+','+row[3]+'target']
writefile.writerow(result)
file1.close()
file2.close()
现在我的final.csv的一个例子:
0,apple,orange,gettarget
25,steven,jack,sendtarget
33,pencil,book,sendtarget
8,notebook,cellphone,gettarget
我想这样做:
count,thing,owner,action
0,apple,orange,gettarget
25,steven,jack,sendtarget
33,pencil,book,sendtarget
8,notebook,cellphone,gettarget
谢谢。
答案 0 :(得分:0)
请{for} for
循环:
writefile.writerow(["count", "thing", "owner", "action"])
BTW:你可以做到
for row in readfile:
row[3] += 'target'
writefile.writerow(row)
答案 1 :(得分:0)
在这种情况下循环之前
if os.path.getsize(f_path) > 0:
writefile.writerow(["count", "thing", "owner", "action"])
如果文件为空,这将添加行。