| | import pandas as pd
|
| | import os
|
| |
|
| | def merge_mt5_tables():
|
| |
|
| | orders_file = 'extracted_orders.csv'
|
| | deals_file = 'extracted_deals.csv'
|
| | output_file = 'merged_extracted_orders_and_deals.csv'
|
| |
|
| | if not os.path.exists(orders_file) or not os.path.exists(deals_file):
|
| | print("Error: One or both input CSV files are missing.")
|
| | return
|
| |
|
| | try:
|
| | print("Loading files...")
|
| | orders_df = pd.read_csv(orders_file)
|
| | deals_df = pd.read_csv(deals_file)
|
| |
|
| | orders_df['Order'] = orders_df['Order'].astype(str)
|
| | deals_df['Order'] = deals_df['Order'].astype(str)
|
| |
|
| | print("Merging tables on 'Order' ID...")
|
| | merged_df = pd.merge(
|
| | orders_df,
|
| | deals_df,
|
| | on='Order',
|
| | how='inner',
|
| | suffixes=('_order', '_deal')
|
| | )
|
| |
|
| |
|
| |
|
| |
|
| |
|
| | limit = 6
|
| | min_valid_values = len(merged_df.columns) - limit + 1
|
| |
|
| |
|
| |
|
| | merged_df = merged_df.dropna(thresh=min_valid_values)
|
| |
|
| |
|
| | merged_df.to_csv(output_file, index=False)
|
| | print(f"Success! Merged data saved to '{output_file}'")
|
| | print(f"Total rows remaining after cleaning: {len(merged_df)}")
|
| |
|
| | except Exception as e:
|
| | print(f"An error occurred: {e}")
|
| |
|
| | if __name__ == "__main__":
|
| | merge_mt5_tables() |