首頁  >  文章  >  後端開發  >  如何使用 Python 將現有資料派生的新欄位新增至 CSV 檔案?

如何使用 Python 將現有資料派生的新欄位新增至 CSV 檔案?

DDD
DDD原創
2024-10-21 21:00:30178瀏覽

How to Add a New Column Derived from Existing Data to a CSV File Using Python?

修改CSV 檔案:新增欄位

問題陳述

給定一個包含名為「Name」和「Code」欄位的CSV 檔案,我們目標是新增一個名為「Berry」的新列,其值源自於「Name」列。所需的輸出應類似於:

Name        Code    Berry
blackberry  1   blackberry
wineberry   2   wineberry
rasberry    1   rasberry
blueberry   1   blueberry
mulberry    2   mulberry

建議的解決方案

使用Python 和CSV 模組,我們可以如下操作CSV 檔案:

  1. 開啟輸入CSV 檔案用於讀取,輸出CSV 檔案用於寫入。
  2. 使用 csv.reader 迭代輸入檔案中的每一行。
  3. 對於每一行,為新的 ' 附加所需的值Berry' 列。
  4. 使用 csv.writer 將修改後的行寫入輸出檔。

以下是範例腳本:

<code class="python">import csv

with open('input.csv', 'r') as input_file, open('output.csv', 'w') as output_file:
    reader = csv.reader(input_file)
    writer = csv.writer(output_file)

    # Read the header row and add the new column
    header = next(reader)
    header.append('Berry')
    writer.writerow(header)

    # Iterate over the remaining rows and modify them
    for row in reader:
        row.append(row[0])    # Set the 'Berry' column to the 'Name' column
        writer.writerow(row)</code>

值得注意的注意事項

  • csv.reader 和csv.writer 函數分別處理從CSV 檔案讀取行和向CSV 檔案寫入行。
  • 帶有 with 語句的 open 函數可確保正確的檔案處理和清理。
  • next(reader) 函數讀取第一行(標題)並推進迭代器,這是將新列新增到標題所必需的。
  • 在 Python 3 中,從 csv 取得的迭代器.reader 產生元組,因此我們必須在修改和寫入它們之前將它們轉換為列表。

透過執行這些步驟,我們可以成功地在 CSV 檔案中新增列,增強其資料表示。

以上是如何使用 Python 將現有資料派生的新欄位新增至 CSV 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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