如何使用 Python 在给定列中插入新值? [复制]

Posted

技术标签:

【中文标题】如何使用 Python 在给定列中插入新值? [复制]【英文标题】:How to insert new values in a given column using Python? [duplicate] 【发布时间】:2021-01-23 18:12:42 【问题描述】:

每当我的代码运行时,我都会尝试在 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 新手,所以任何想法或建议都会有所帮助。

【问题讨论】:

不完全,它不会将值保存到实际的 csv 文件中 我认为您没有将问题分解为不同的步骤,每个步骤都是完全不相交的问题:(1)读取 CSV(2)修改单元格中的值(3)将 CSV 写入文件。如果您已完成 (1) 和 (2),我假设您可以执行步骤 (3)。如果没有,请参阅this。 【参考方案1】:

标记库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,它应该可以工作。

【讨论】:

以上是关于如何使用 Python 在给定列中插入新值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

R:如何使用其他列中的数据在一列中创建多个新值并为每个新值重复行?

如何在python的一列中插入2个图

Python QTableView:如何在列中插入项目

如何使用python在列中插入日期

Excel sumifs直到列中的新值

Python Pandas - 如何在 Excel 工作表的特定列中写入