我有两个csv文件第一.csv和第二. csv。它们都有一个共享列。示例:第一:a B c d第二:x y a z我必须创建第三个csv文件,它看起来像这样:第三:a B c d x y z文件的条目数不相同,我必须只合并共享同一列的行。此外,必须将3个csv文件的路径作为参数发送。我试图在Java中做到这一点,但Python也可以。我真的不知道我该怎么做:)
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)
字符串
1条答案
按热度按时间mw3dktmi1#
如果它们总是恰好有一个共享列,并且您希望合并该列中具有相同值的记录(行),则以下代码可能会帮助您:
字符串