逐行循环 Pandas 数据框,并将数据框的值作为文件名的一部分

Loop through a Pandas dataframe row by row and Include value of the dataframe as part of the file name

我正在尝试导出数据框的每一行以生成单独的 csv 文件。我创建了一个循环来遍历每一行。文件名将相应行的货币值+当前日期作为文件名。我在数据框中有 4 行,并期望有四个 csv 文件输出。例如,对于 GBP,结果应生成类似“GBP_20220326.csv”的文件名,而 csv 文件内容将有两个值“GBP,1.232”。

关于如何获取货币值(例如,GBP 成为文件名的一部分),我坚持了一点。如果有人能给我一些指导,我将不胜感激。非常感谢。

>import numpy as np
>import pandas as pd
>from datetime import datetime

>rate = {"Currency":["EUR","GBP","JPY","AUD"],
        "Rate":[1.11,1.232,120,0.73],
       }
>df = pd.DataFrame(rate)
>df

>for i in range(0, len(df)):
> df.iloc[i:i+1].to_csv(df.iloc[0] + datetime.now().strftime("%Y%m%d") + '.csv', index=False, header=True)

#最后一行未按计划运行。

尝试使用 df.iterrows:

today = date.today().strftime('%Y%m%d')
for _, row in df.iterrows():
    row.to_frame().T.to_csv(f"{row['Currency']}_{today}.csv", index=None)

输出:

>>> %cat EUR_20220326.csv
Currency,Rate
EUR,1.11

>>> %cat GBP_20220326.csv
Currency,Rate
GBP,1.232