pandas 捕获Dataframe元素作为CSV文件名的一部分

vfh0ocws  于 2023-09-29  发布在  其他
关注(0)|答案(2)|浏览(120)

我有一个多行的CSV文件。我把它读成了一个 Dataframe 。然后,我在另一个文件中查找dataframe的行值,并进行过滤以提取匹配的行值,并将其作为每个匹配值的单独csv文件写入。
我读到的第一个CSV文件:

我查看的第二个csv文件是:

由于有5个匹配值,因此输出应为每个匹配值给予5个csv。因此,我期望一个csv输出,例如值为333,如下所示:

这是我到目前为止所做的代码,但没有得到预期的输出。如果你能帮忙的话,我将不胜感激。

import pandas as pd
df1=pd.read_csv('LookupPCI.csv')
df2=pd.read_csv('All_PCI.csv')

for i,r in df1.iterrows():
    df3 = pd.merge(df1, df2, on=['PHYCELLID'], right_index=False)
    df3.to_csv("Looked up PCI list"+df1['PHYCELLID']+".csv",index=False)
xkrw2x1b

xkrw2x1b1#

无需将DataFrames存储在新变量中,只需在过滤后将其写入csv:

for pid in df1["PHYCELLID"]:
    df2[df2["PHYCELLID"].eq(pid)].to_csv(f"Looked up PCI list {pid}.csv")
hpxqektj

hpxqektj2#

您正在合并整个DataFrame df 1,而不仅仅是正在迭代的行。
导出到csv文件时也发生了同样的事情。
我已经将'PHYCELLID'列的int值解析为str,同时导出为csv(用于文件命名约定)。
希望这对你有帮助!

import pandas as pd
df1=pd.read_csv('LookupPCI.csv')
df2=pd.read_csv('All_PCI.csv')

for i,r in df1.iterrows():
    df3 = pd.merge(r, df2, on=['PHYCELLID'], right_index=False)
    df3.to_csv("Looked up PCI list "+str(r['PHYCELLID'])+".csv",index=False)

相关问题