Python:删除CSV标题行并重写新标题行

Python:删除CSV标题行并重写新标题行,python,csv,header,Python,Csv,Header,还在自学python,所以如果我的代码很糟糕,请不要恨我 我的代码: ifile = csv.reader(open("TE.csv",'rb')) shutil.copy("TE.csv","temp") tempfile = csv.reader(open("temp","rb")) ofile = csv.writer(open("TE-RESULTS.csv","ab")) for row in ifile: #do some web scraping stuff here

还在自学python,所以如果我的代码很糟糕,请不要恨我

我的代码:

ifile = csv.reader(open("TE.csv",'rb'))
shutil.copy("TE.csv","temp")
tempfile = csv.reader(open("temp","rb"))
ofile = csv.writer(open("TE-RESULTS.csv","ab"))

for row in ifile:
    #do some web scraping stuff here

    VC_s = str(cells[1].find(text=True))
    VC_i = str(cells[2].find(text=True))
    VT_s = str(cells[4].find(text=True))

    entry = [VC_s, VC_i, VT_s]

    rowAdd = tempfile.next()
    ofile.writerow(rowAdd + entry)
问题:我从一个CSV开始,我必须在结尾添加3列。使用上面的代码,我得到以下输出:

HEADER1     HEADER2    HEADER3   result1   result2   result3
autocheck   C:\check   1.jpg     result1   result2   result3
services    C:\svcs    2.jpg     result1   result2   result3
我的所需的输出:

HEADER1     HEADER2    HEADER3   HEADER4   HEADER5   HEADER6
autocheck   C:\check   1.jpg     result1   result2   result3
services    C:\svcs    2.jpg     result1   result2   result3

修复代码以获得所需输出的最佳方法是什么?我最初的想法是删除HEADERS行,并在TE-RESULTS.csv文件中将其替换为新的HEADERS行。

在for循环之前处理header行

rowAdd = tempfile.next()
ofile.writerow(rowAdd + ['HEADER4', 'HEADER5', 'HEADER6'])

for ...

谢谢,但现在输出将重复每行的前三个标题。我已经能够通过如下更改最后一部分来修复此问题:
rowAdd2=tempfile.next()of ile.writerow(rowAdd2+entry)
,但它给了我一个StopIteration错误。如何消除这个错误?您是将代码放在for循环之前的答案中,还是放在for循环内部?就像您给出的答案一样放在循环之前。就在“ifile:中的for行”之前,它不应该重复标题。你得到StopIteration的原因是。。。。。等等,为什么您要将
TE.csv
复制到
temp
然后打开这两个文件,而您应该只使用
而不是
行添加
?感谢您的指导。我删除了
temp
文件,并将它们改为
row
,而不是
rowAdd
。这现在非常有效!