如何使用 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 在给定列中插入新值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章