首页  >  文章  >  后端开发  >  如何使用 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