首頁  >  文章  >  後端開發  >  如何向 CSV 檔案新增列並保留現有值?

如何向 CSV 檔案新增列並保留現有值?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-21 21:12:02300瀏覽

How to Add a New Column to a CSV File Preserving Existing Values?

向CSV 檔案新增欄位

本文解決了在多個CSV 檔案中新增欄位的問題,這些CSV 檔案存在於一個格式包含兩個標記為「名稱」和「代碼」的現有欄位。所需的輸出是新增名為「Berry」的第三列,並使用「Name」值填入其值。

使用 csv 函式庫的初始 Python 腳本嘗試將「Berry」值附加到每一行,但遇到錯誤,僅新列填入了「Berry」值。

解決方案

答案部分中提供的建議程式碼提供了全面的解決方案:

  • 從輸入CSV 檔案中讀取第一行並將標題“berry”附加到其中。
  • 迭代剩餘的行並將第一個值(名稱)附加到每個行row。
  • 將所有修改的行寫入輸出 CSV 檔案。

實作

這是一個基於以下內容修改和改進的Python 腳本提供的解決方案:

<code class="python">import csv

with open('input.csv', 'r') as infile, open('output.csv', 'w') as outfile:
    reader = csv.reader(infile)
    header = next(reader)
    header.append('Berry')
    writer = csv.writer(outfile)
    writer.writerow(header)

    for row in reader:
        row.append(row[0])
        writer.writerow(row)</code>

此腳本提供的解決方案:

此腳本成功將新的「Berry」欄位附加到每行,並填入對應的「Name」值。

    其他注意事項
  • 請注意,Python csv 庫中的預設行終止符是“rn”,這可能會導致輸出檔案中出現雙倍間距。若要指定不同的行終止符,請在 CSV 檔案寫入過程中使用 lineterminator 參數。
  • 考慮使用清單來儲存所有修改的行,並使用 writerows 將它們寫入一次操作中。這種方法對於大檔案來說效率更高。

    <code class="python">with open('input.csv', 'r') as infile, open('output.csv', 'w') as outfile:
      # file operations</code>
  • with 語句可以在一行中對多個檔案使用,如下例所示:

以上是如何向 CSV 檔案新增列並保留現有值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn