У меня есть 2 файла CSV, в них есть один столбец, в котором есть код, и я хочу, чтобы всякий раз, когда этот код совпадает, строка извлекалась из обоих файлов, и я попробовал приведенный ниже код, который работает ниже, за исключением пары строк, где код совпадает, когда я ищу его вручную с помощью CTRL+F, но он каким-то образом пропускает эти строки.
Есть ли способ узнать, почему он их пропускает, например, как он читает данные или что-то в этом роде?
Код: Выделить всё
import pandas as pd
import os
para_filename = r'D:\PFE\Final_comparing\fichiers_base_grossistes\para-bapharma.csv'
para_df = pd.read_csv(para_filename)
converted_filename = r'D:\PFE\Final_comparing\fichiers_ventes\I660124N.csv'
converted_df = pd.read_csv(converted_filename)
matching_df = pd.merge(para_df, converted_df, left_on='code', right_on='code produit', how='left')
matched_names_df = matching_df[['name', 'nom de produit']].drop_duplicates()
matched_names_df = matched_names_df[matched_names_df['nom de produit'].notna()]
matched_names_grouped_df = matched_names_df.groupby('name')['nom de produit'].agg(lambda x: '; '.join(x)).reset_index()
matched_output_filename = os.path.splitext(os.path.basename(para_filename))[0] + "_matched_" + os.path.splitext(os.path.basename(converted_filename))[0] + ".csv"
med_names_output_filename = os.path.splitext(os.path.basename(converted_filename))[0] + "_med_names.csv"
matched_names_grouped_df.to_csv(matched_output_filename, index=False)
med_names_df = converted_df['nom de produit'].drop_duplicates()
med_names_df.to_csv(med_names_output_filename, index=False)
print(f"Files '{matched_output_filename}' and '{med_names_output_filename}' have been generated.")
I660124N.csv:
Код: Выделить всё
code grossiste,code produit,lettre,code postal,unite vendu,nom de produit,prix
50066,303107,B,1000,00000003,FOSALEN D3 BTE 12,00000.000
50066,303107,B,1003,00000002,FOSALEN D3 BTE 12,00000.000
50066,303107,B,1004,00000002,FOSALEN D3 BTE 12,00000.000
50066,303107,B,2041,00000002,FOSALEN D3 BTE 12,00000.000
para-bapharma.csv:
code,name
644018,AD.EXOMEGA LAIT 400ML
649595,AD.PAIN AU LAIT D'AVOINE
31,ADOLOR GEL
AD04,ADOLOR FORT BT30
Источник: https://stackoverflow.com/questions/781 ... column-but