1
还在教自己的Python,所以请不要恨我,如果我的代码是可怕的......的Python:删除CSV标题行和rewite新的头排
我的代码:
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
我DESIRED输出:
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行。
谢谢,但现在输出重复每行中的前三个标题。我已经能够通过更改最后一部分来解决这个问题,例如:`rowAdd2 = tempfile.next()ofile.writerow(rowAdd2 + entry) `但它给了我一个StopIteration错误。我如何摆脱这个错误? – serk 2011-02-12 05:56:45