按公共列合并2个csv文件

fnx2tebb  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(120)

我有两个csv文件第一.csv和第二. csv。它们都有一个共享列。
示例:第一:a B c d第二:x y a z
我必须创建第三个csv文件,它看起来像这样:第三:a B c d x y z
文件的条目数不相同,我必须只合并共享同一列的行。此外,必须将3个csv文件的路径作为参数发送。
我试图在Java中做到这一点,但Python也可以。
我真的不知道我该怎么做:)

mw3dktmi

mw3dktmi1#

如果它们总是恰好有一个共享列,并且您希望合并该列中具有相同值的记录(行),则以下代码可能会帮助您:

import pandas as pd

def merge_csv_files(first_file_path, second_file_path, output_file_path):
    first_df = pd.read_csv(first_file_path)
    second_df = pd.read_csv(second_file_path)

    shared_column = set(first_df.columns) & set(second_df.columns)
    # look for exactly 1 shared column
    if len(shared_column) != 1:
        raise ValueError("The CSV files do not have exactly one shared column.")
    shared_column = shared_column.pop()

    merged_df = pd.merge(first_df, second_df, on=shared_column, how='inner')

    merged_df.to_csv(output_file_path, index=False)

first_file_path = 'first.csv'
second_file_path = 'second.csv'
output_file_path = 'third.csv'

merge_csv_files(first_file_path, second_file_path, output_file_path)

字符串

相关问题