Python:删除CSV头行并重写新的头行

1 投票
1 回答
2699 浏览
提问于 2025-04-16 11:41

我还在自学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

有什么好的方法可以修正我的代码,让我得到想要的输出吗?我最初的想法是删除表头行,然后用新的表头行替换它,放在TE-RESULTS.csv文件里。

1 个回答

0

在开始循环之前,先处理一下表头这一行。

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

for ...

撰写回答