只是一些上下文:我有两个 CSV 文件:
第一个我称之为声明
第二个大文件
Big File 包含大量数据,包括 Statement 中的 Order ID
编号。
我想做的是:
如果 Statement 中的 Order ID
与 Big File 中的 Order ID
匹配,则写入Big File 在 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'
当我运行代码时,没有错误,但随后我打开 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/