我正在阅读CSV文件,删除标题,并附加两列数据。除了在最后添加额外的行之外,一切都很好。例如,如果我有以下输入文件:
headerA | headerB | headerC
a | b | c
d | e | f
我希望输出文件看起来像:
a | b | c | g | h
d | e | f | g | h
但它的出现就像:
a | b | c | g | h
d | e | f | g | h
g | h
我不能为我的生活弄清楚为什么会这样。如果有人有解决方案,我将不胜感激。这是我的代码:
for fileName in os.listdir(inPath):
if fileName.endswith('.csv'):
with open(inPath + fileName, 'rb') as csvin:
reader = csv.reader(csvin, delimiter=',')
i = reader.next()
with open(outPath + 'wrng_' + fileName, 'wb') as csvout:
writer = csv.writer(csvout, delimiter=',')
for row in reader:
j = fileName.split("_")[1].replace(".csv","")
row.append(j[2:-7] + '-' + j[4:-5] + '-' + j[:2] + ' ' + j[7:-2] + ':' + j[9:] + ':00')
row.append(i[1].split(" ")[2][:-1])
writer.writerow(row)
答案 0 :(得分:0)
(从评论中总结)看起来您遇到的问题可能是由文件末尾的空行引起的。您可以检查for循环中的行是否为空。
for row in reader:
if row:
...