当前位置:首页python > 正文

python写入csv指定列(python写入csv文件追加数据)

作者:野牛程序员:2023-07-24 07:59:54python阅读 3008

要将数据写入CSV文件并追加到指定列,可以使用Python中的csv模块。首先,需要打开CSV文件,然后将新数据附加到特定列。以下是一个简单的例子来演示如何实现:

假设有一个名为data.csv的CSV文件,内容如下:

Name,Age,Location
John,30,New York
Alice,25,Los Angeles
Bob,35,Chicago

现在,想要将新的年薪数据追加到“Age”列。

import csv

def append_to_csv(file_path, column_name, data_list):
    # 打开CSV文件并读取数据
    with open(file_path, 'r') as file:
        reader = csv.DictReader(file)
        headers = reader.fieldnames

        # 确保指定的列名在头部中
        if column_name not in headers:
            raise ValueError(f"Column '{column_name}' not found in the CSV file.")

        # 创建一个新的CSV文件来保存更新后的数据
        new_file_path = f"updated_{file_path}"

        # 追加数据到指定列
        with open(new_file_path, 'w', newline='') as new_file:
            writer = csv.DictWriter(new_file, fieldnames=headers)
            writer.writeheader()

            for row in reader:
                if column_name in row:
                    row[column_name] = data_list.pop(0)
                writer.writerow(row)

        print(f"Data appended to '{column_name}' column in '{file_path}' successfully.")

# 示例用法
file_path = 'data.csv'
column_name = 'Age'
new_data = ['32', '28']  # 添加的年龄数据,需要和行数对应

append_to_csv(file_path, column_name, new_data)

在这个例子中,将新的年龄数据['32', '28']追加到"Age"列,生成一个新的文件updated_data.csv,并且这些数据将替换掉原来的年龄数据。

请注意,这个示例假设新的数据列表长度与文件中的行数相同。如果列表长度与行数不匹配,代码可能会引发IndexError。在实际应用中,可能需要添加更多的数据验证和错误处理来确保正确追加数据。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击