python - 如何使用另一个 csv 文件中的数据写入现有的 CSV 文件?

标签 python python-3.x file csv read.csv

只是一些上下文:我有两个 CSV 文件:

第一个我称之为声明

第二个大文件

Big File 包含大量数据,包括 Statement 中的 Order ID 编号。

我想做的是:

如果 Statement 中的 Order IDBig File 中的 Order ID 匹配,则写入Big FilePaid 列中,在包含 Order ID 的行中,“Yes” .

所以我写的是:

import pandas as pd

data1 = pd.read_csv('Big_File.csv')
data2 = pd.read_csv('Statement.csv')

df = pd.DataFrame(data1)

for i in range(len(data1['PO'])):
    for j in range(len(data2['PO'])):

        if data2['PO'][j] == data1['PO'][i]:

            data1['Supplier'][i] = 'SUP'

            data1['Paid'][i] = 'yes'

当我运行代码时,没有错误,但随后我打开 Big File 来检查它是否有效并且没有任何变化。

我刚开始使用 Python 编写和读取文件,有人可以给我一些建议吗?

提前致谢。

最佳答案

您仍然需要将更改输出回 CSV 文件。

到目前为止,您所做的是将数据从 CSV 文件读取到位于内存中的 Python 数据框中。然后你改变它们。但后来你停了下来。在 for 循环之后,您应该将更改后的 data1 输出回​​ CSV。例如:

data1.to_csv('Big_File.csv')

这是关于to_csv 的文档 https://pandas.pydata.org/pandas-docs/version/0.24.2/reference/api/pandas.DataFrame.to_csv.html

关于python - 如何使用另一个 csv 文件中的数据写入现有的 CSV 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57319759/

相关文章:

python - 如何根据特定条件对列表中的元素进行计数

python - 使用生成器表达式时如何从字典列表中获取项目的键

python - 打开文件的最pythonic方式是什么?

python - 使用 Telethon : some entity parameters work, 发送 Telegram 消息,其他人则不发送?

python - 避免 Python IRC 机器人中昂贵的计算

Python在网格上绘制填充的 "Circle"

javascript - 使用 Python-BeautifulSoup 和 urllib 抓取奇怪的 html 设置

python - 通过将列表索引视为python中的键,将dict中的所有列表转换为dict

检查二进制文件是否至少包含第二个文件的内容

java - 尝试创建新文件会抛出 FileNotFoundException 但文件存在于同一包中