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

时间:2011-02-12 05:12:07

标签: 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

    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行。

1 个答案:

答案 0 :(得分:0)

在for循环之前处理标题行。

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

for ...