簡體   English   中英

將列添加到CSV文件時追加了額外的行

[英]Extra row appended when adding columns to CSV file

我正在讀取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)

(摘自注釋)看來您所遇到的問題可能是由文件末尾的空行引起的。 您可以檢查for循環中的行是否為空。

for row in reader:
    if row:
    ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM