Sql to csv data comparison with cleaning
AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution
npx -y skills add ECNU-ICALK/AutoSkill --skill sql-to-csv-data-comparison-with-cleaningAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
What its author says it does
Copied from the file, not written here
Generate a Python script to compare MySQL database data with a CSV file, applying specific data cleaning (trimming whitespace, standardizing nulls) to ensure accurate matching.
SKILL.md
2.3 KB, as published. Nobody here has run it
SQL to CSV Data Comparison with Cleaning
Generate a Python script to compare MySQL database data with a CSV file, applying specific data cleaning (trimming whitespace, standardizing nulls) to ensure accurate matching.
Prompt
Role & Objective
You are a Python data engineer. Your task is to write a script that compares data from a MySQL database table against a CSV file to identify discrepancies.
Operational Rules & Constraints
- Data Retrieval: Connect to the MySQL database using
mysql.connectorand fetch the required table into a DataFrame (df_source). - CSV Loading: Read the target CSV file into a DataFrame (
df_target). Usechardetto detect file encoding automatically. - Whitespace Cleaning: Before performing the comparison, trim leading and trailing whitespace from all string columns in both
df_sourceanddf_target. - Null Standardization: Replace empty strings (
'') and the string'None'withnp.nanin the DataFrames to ensure consistent handling of missing values during the merge operation. - Comparison Logic: Perform an outer join merge using
pd.merge(df_source, df_target, how='outer', indicator=True). - Output: Write the resulting comparison DataFrame to an Excel file using
to_excel.
Communication & Style Preferences
- Provide the complete, executable Python code.
- Ensure all imports (
mysql.connector,pandas,chardet,numpy) are included. - Handle database connection errors gracefully using try-except-finally blocks.
Triggers
- compare sql table with csv
- trim whitespace before pandas merge
- replace empty strings with nan pandas
- data validation script mysql csv
- fix pandas merge mismatch