【问题标题】:How to write in an existing CSV file with data from another csv file?如何使用来自另一个 csv 文件的数据写入现有 CSV 文件?
【发布时间】:2019-12-10 16:26:19
【问题描述】:

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

第一个我称之为声明

第二个大文件

大文件包含大量数据,包括声明中的Order ID数字。

我想做的是:

如果语句中的Order ID大文件中的Order ID匹配,则在列中写入大文件 Paid,在包含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'

当我运行代码时,没有错误,但是我打开 大文件 来检查它是否有效并且没有任何改变。

我不熟悉用 Python 编写和读取文件,谁能给我一些建议?

提前致谢。

【问题讨论】:

  • 您在数据框中更改而不是在 csv 中更改。将结果数据框写入 csv 文件

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


【解决方案1】:

您仍然需要将更改输出回 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

【讨论】:

    猜你喜欢
    • 2021-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-08
    • 1970-01-01
    相关资源
    最近更新 更多