Python Automation Script for Data Transformation and Variant Creation for Mystore ONDC Bulk Upload

Job ID: 38798185

Budget: ₹600 – ₹1,500 INR

Greetings,

We are seeking a talented and experienced Python developer to automate the process of transforming product data into a format compatible with Mystore ONDC (Open Network for Digital Commerce) bulk upload requirements. This project involves reading data from a source CSV file, mapping the fields to the target structure, creating variants for products, and generating the final output CSV in the ONDC-required format.

Below is the comprehensive guide for the freelancer to understand the requirements and develop the script accurately.

Project Overview:
Source File: CS_210_171124_1.csv (contains product data in our current format).
Target File: sample-csv-fashion.csv (ONDC-required bulk upload format).
Reference File: fashion csv - Sheet1.csv (example file showing how to create product variants).
The task involves transforming and mapping the data from CS_210_171124_1.csv to match the format of sample-csv-fashion.csv, while ensuring the correct creation of product variants as illustrated in fashion csv - Sheet1.csv.

Details of the Transformation:
1. Column Mapping:
Map the columns in the source file to the required columns in the ONDC format:

Title -> name
Body (HTML) -> description
Variant Price -> price
Variant Compare At Price -> compare_price:
If Variant Compare At Price exists, map it directly.
If not, set the default value of 1050.
Variant SKU -> sku
Product Category or Type -> category:
If Product Category is missing, use Type.
Image Src -> image1, image2, image3:
Map based on the Image Position in the source file.
2. Variant Creation:
Create product variants based on multiple attributes (e.g., size, color). Refer to fashion csv - Sheet1.csv for the correct structure. Ensure:

Each product variant has unique values in option1_value (e.g., size) and option2_value (e.g., color).
All variants for the same product share the same name, description, and image columns.
3. Default Values:
Handle missing fields by assigning default values:

ondc.category_id -> "fashion"
manufacturer_or_packer_name -> "Beast Of Cloud"
manufacturer_or_packer_address -> "Beast Of Cloud,Erode-638002"
country_of_origin -> "IN"
month_year_of_manufacturing_or_packing -> "24-Jul"
unit_count -> 1
unit_count_type -> "pair"
ondc.time_to_ship -> 2880
4. Image Handling:
Map images to the appropriate columns (image1, image2, image3, etc.) based on Image Position in the source file. Ensure:

All variants share the same set of images.
Fill missing values for images using forward fill.
5. Output File Requirements:
Save the transformed data in a CSV file following the structure of sample-csv-fashion.csv.
Ensure the format is compatible with ONDC bulk upload requirements.
6. Error Handling:
Implement robust error handling to log issues (e.g., missing columns, data inconsistencies) during the transformation.
Validate the output file before submission.
Required Deliverables:
Python Script:

The complete Python script with detailed comments and clear documentation.
Use Python libraries such as pandas for data manipulation.
Output File:

A sample transformed output file based on CS_210_171124_1.csv.
Documentation:

Provide clear and comprehensive documentation explaining:
How the script works.
Instructions to run the script.
Details of the data mapping process.
Handling of variants and default values.
Files Provided:
The following files will be provided for reference:

CS_210_171124_1.csv - The source file with product data in our current format.
sample-csv-fashion.csv - The required ONDC format for bulk uploads.
fashion csv - Sheet1.csv - An example file showing how to create variants for products.
Skills Required:
Strong proficiency in Python (data manipulation using pandas, file I/O, etc.).
Experience with data transformation and ETL processes.
Familiarity with e-commerce platforms and bulk upload formats is a plus.
Expected Workflow:
Analyze the provided files and understand the required mappings.
Develop the Python script to perform the transformations.
Validate the output against the sample-csv-fashion.csv format.
Submit the script, sample output file, and documentation.

Deadline:
2 days from project award.

How to Apply:
Interested freelancers are requested to submit the following:

A brief overview of your approach to the project.
Examples of similar projects you have completed.
Your estimated timeline for completion.
Additional Notes:
Accuracy and attention to detail are critical for this project.
Please ensure all mappings and transformations are handled as specified.
Communication and regular updates are expected throughout the project.