仍然自学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行。
答案 0 :(得分:0)
在for循环之前处理标题行。
rowAdd = tempfile.next()
ofile.writerow(rowAdd + ['HEADER4', 'HEADER5', 'HEADER6'])
for ...