首页 > 解决方案 > 如何使用 Python 在给定列中插入新值?

问题描述

每当我的代码运行时,我都会尝试在 csv 文件中插入(更新)值。

这是我的 csv 文件内容:

col1 | col2 | col3
value1,value2,value3

当我运行我的代码时,我只想更新 col3 中的 value3。例如,在我运行我的脚本后它看起来像这样:

 col1 | col2 | col3
 value1,value2,newly_inserted_value3

这是我的代码:

import csv
from csv import writer

file_name = 'my_file.csv'
with open(file_name, 'wb') as obj:
    # Create a writer object from csv module
    csv_writer = writer(obj)
    # Add contents of list as last row in the csv file
    csv_writer.writerow('new_value3')

但是,它不仅在 col3 中插入​​“new_value3”。我是 python 新手,所以任何想法或建议都会有所帮助。

标签: python-3.xpandascsv

解决方案


标记库pandas非常适合处理 csvs。使用以下代码结构:

import pandas as pd
df = pd.read_csv('/path/to/a.csv')
df = apply_your_functions_on_dataframe(df)
df.to_csv('/path/to/your/output.csv')

pd.read_csv 输出的对象称为 pd.DataFrame(此处的教程:https ://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html )。Pandas 会为您处理所有 csv 的写入和读取,所以剩下的就是您想要对数据帧执行的实际操作,这基本上是一个表格。

在您的示例中,尝试使用 : df.loc[0, 'col3'] = new_value3,它应该可以工作。


推荐阅读