Find Jobs
Hire Freelancers

Python script for CSV to XML conversion

$30-250 USD

Completed
Posted about 9 years ago

$30-250 USD

Paid on delivery
-- Python 2.7 - Desired CPython or Jython (due to improved thread support) -- Process must handle input files of an average of 50 thousand lines -- Output file must be validated against XSD as part of the process -- Process must manage logs to report problematic lines as well as generate CSV files with those lines -- Mapping between CSV columns and XML elements must be configurable Description of problem: The project consists of processing an input file (CSV format with variable columns) and transform it into an output file (XML following a specific XSD). More specifically, the problem is transforming a feed of products (CSV file) into Demandware's custom XML catalog format, while providing flexibility in the mapping of columns from the CSV into elements in the XML. Background: The input files contains records for products which need to be imported into the Demandware platform. Each record of the CSV represents a product, which can be simple or variant. Simple products are individual/independent products, while variant products are instances of a model (e.g. a Blue (color), Medium (waist) t-shirt) ++ Individual products are represented as "complete" <product> elements in the output XML, including child elements such as <images> or <custom-attributes>. ++ Variant products are represented in the CSV as records sharing the "item_group_id" column and are converted to the following in the XML: -- One <product> element that specifies the attributes that define the "model", including child elements such as <images> and <variations> E.g. <variation-attribute attribute-id="color"> or <variation-attribute attribute-id="size"> -- "partial" <product> elements in the output XML, including the <custom-attribute> values for each instance E.g. <custom-attribute attribute-id="color">GREENLEAF</custom-attribute> or <custom-attribute attribute-id="size">XS</custom-attribute> Attached are the files needed for the above examples and XSD.
Project ID: 7384579

About the project

8 proposals
Remote project
Active 9 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
A proposal has not yet been provided
$252 USD in 3 days
4.9 (5 reviews)
4.6
4.6
8 freelancers are bidding on average $164 USD for this job
User Avatar
A proposal has not yet been provided
$200 USD in 3 days
4.8 (45 reviews)
5.5
5.5
User Avatar
A proposal has not yet been provided
$133 USD in 1 day
4.9 (12 reviews)
4.5
4.5
User Avatar
Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !Ready !
$250 USD in 3 days
5.0 (5 reviews)
3.6
3.6
User Avatar
A proposal has not yet been provided
$120 USD in 3 days
5.0 (1 review)
3.0
3.0
User Avatar
Hi. I am an experienced Python programmer. I am interested in working on your project and can deliver it in 2 days. Please contact me to discuss more details. Thanks.
$133 USD in 3 days
4.9 (2 reviews)
2.7
2.7
User Avatar
A proposal has not yet been provided
$111 USD in 3 days
0.0 (0 reviews)
0.0
0.0
User Avatar
C/C++/Java/Python software engineer with 4 years hands-on experience in: system software, client/server applications and compilers. Proficient English speaker.
$112 USD in 7 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of COSTA RICA
San Jos&eacute;, Costa Rica
5.0
2
Payment method verified
Member since Dec 20, 2011

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.