我需要在csv文件中编写前73行,然后在坐标列中为空白分配“0”,但我不确定需要对脚本进行哪些更改才能正确分配字符串“0”到文件中的36和37列。
while line:
lineList = line.split(',')
newList = lineList[:72]
if 36 or 37 in newList == "":
36 = "0"
37 = "0"
line = ",".join(lineList)
line = line + '\n'
colFinal.write(line)
答案 0 :(得分:1)
尊重,很难说你在代码中想要做什么。所以我写了一些可行的代码,并且会做我认为你想要的代码:
import csv
fcsv = open('c:/temp/laststation.csv', 'r')
creader = csv.reader(fcsv)
fout = open('c:/temp/outfile.csv', 'wb')
cwriter = csv.writer(fout, dialect='excel')
for i, lst in enumerate(creader):
# break out of loop after handling 73 lines
if i > 72:
break
lst[36] = lst[36] or '0'
lst[37] = lst[37] or '0'
cwriter.writerow(lst)
fcsv.close()
fout.close()
标准库是你的朋友。 csv模块读取和写入csv文件并为您处理所有丑陋的边缘情况。枚举函数将计算您的行数,当您到达要处理的最后一行时,您可以停止。