如何使用来自另一个csv文件的数据写入现有CSV文件?

时间:2019-08-02 04:00:55

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

只是上下文:我有两个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编写和读取文件,有人可以给我一些建议吗?

谢谢。

1 个答案:

答案 0 :(得分: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