从两个单独的文件中创建合并的 CSV,按照唯一列匹配

2024-09-28 05:17:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个csv数据文件,其中每一行都有一个100%唯一的元素(注意行的顺序不同)

CSV1

title1,title2,title3,UniqueElment,title4,title5
data,data,data,dasasd1245,data,data
data,data,data,dasasd1395,data,data
data,data,data,dasasd2594,data,data
data,data,data,dasasd9587,data,data

CSV2

^{pr2}$

期望输出:

title1,title2,title3,UniqueElment,title4,title5,titlea,titleb,titlec,titled,titlee,titlef,UniqueElment,titleg,titleh,titlei
data,data,data,dasasd1245,data,data,text,text,text,text,text,text,dasasd1245,text,text,data
data,data,data,dasasd1395,data,data,text,text,text,text,text,text,dasasd1395,text,text,data
data,data,data,dasasd2594,data,data,text,text,text,text,text,text,dasasd2594,text,text,data
data,data,data,dasasd9587,data,data,text,text,text,text,text,text,dasasd9587,text,text,data

我需要创建一个最终的CSV,其中来自两个CSV的数据在匹配UniqueElement的基础上合并在一起。


Tags: csvtextdata数据文件title2title1title3title5
1条回答
网友
1楼 · 发布于 2024-09-28 05:17:59

有人可能会写一个基于csv的答案,因此我将给出^{}方法进行比较:

df1 = pd.read_csv("file1.csv")
df2 = pd.read_csv("file2.csv")
merged = df1.merge(df2, on="UniqueElment")
merged.to_csv("merged.csv", index=False)

产生

^{pr2}$

如果,如@beroe所述,您需要冗余的UniqueElment列,这也很简单,我们只需对这两个列进行排序,以确保它们的顺序相同,然后将它们连接起来:

df1 = df1.sort("UniqueElment").reset_index(drop=True)
df2 = df2.sort("UniqueElment").reset_index(drop=True)
merged = pd.concat([df1, df2], axis=1)

或者,我们可以将索引设置为UniqueElment并进行合并,等等,这样可以更好地防止数据中的错误。关键是,像这样的操作只需要几行。在

相关问题 更多 >

    热门问题