Focal Point
[SOLVED] Excel 2010 Preparser

This topic can be found at:
http://forums.informationbuilders.com/eve/forums/a/tpc/f/1381057331/m/1777051766

February 07, 2014, 02:37 PM
Ravikiran_Magadi
[SOLVED] Excel 2010 Preparser
Does iWay have a CSV Preparser. I have a requirement wherein i need to edit my csv file to remove first 3 rows and last 4 rows. I tried to pass this through my transformer but since the number of columns are not equal in all rows it fails to convert it completely.

I tried the preparser but it only accepts .xls files and doesnt accept files which have been renamed from .csv to .xls

What do i do here. Please help

This message has been edited. Last edited by: <Kathryn Henning>,


WebFOCUS 7.6
Windows, All Outputs
February 10, 2014, 05:09 AM
Srii
Ravi,

Can you explain this in detail?

quote:
but since the number of columns are not equal in all rows


-
Srii
February 10, 2014, 10:20 AM
Ravikiran_Magadi
Srii,

I have a csv file wherein i need to remove the 1st 3 and the last few rows. The method in which i am trying to remove these is by converting the csv file to an xml format and then removing the rows based on the row number and values. For this, i tried passing through the transformer but it doesn't work as the number of columns for all the rows is not consistent. Hence it fails in the transformer.

I can't use the excel preparser too as it expects an xls file and renaming the .csv to .xls doesn't help either as it fails. Also tried renaming the .csv to .zip and tried using the unzip option in the listener. The content returned by the same is not of xml format.

Please let me know how can i proceed here.


WebFOCUS 7.6
Windows, All Outputs
February 11, 2014, 04:18 AM
Srii
Ravi,

Without diving deeper into the problem, a quick solution, in a non-standard way, I can think of, are the following for you:

1) Use XDConstantAgent with the following iFL:
quote:
 _concat('<root><lineItem>',_regex(_concat('<field>', _regex(_flatof(), "\n", "</field><field>"), '</field>'), ",", "</lineItem><lineItem>"), '</lineItem></root>') 
Mark the output payload as XML in the agent. Use this as an input to your transformation.

2) If the CSV payload being handled here is not too big, you can alternatively, use XDIterLine, to loop over every row and ignroe whichever you think is not needed.

Let me know, if that helps.

PS: Can you close threads you've opened here, if the issue is resolved, along with your closure description? This way anyone else reading it through in future may find it useful.

-
Srii

This message has been edited. Last edited by: Srii,
February 12, 2014, 07:33 AM
vengat Maran@Aspire Systems
Hi Ravikiran_Magadi,

Even the number of columns not consistent in rows, Whether the empty columns separated by continues commas or not? If the empty columns separated by continues commas then the transformer works fine.


iWay Service Manager,
Windows.
February 12, 2014, 09:28 AM
Ravikiran_Magadi
All,

The problem is solved now. I adopted the XDIterline approach through which i was able to include and exclude the rows easily thus achieving successful transformation of the csv file into the required format.

Made use of the SREG(count) which is set automatically by XDIterline Agent. Through this we can track the number of rows in the csv file.

@Venkat,
Since this is a file provided by the customer i cannot modify the file by adding commas.


WebFOCUS 7.6
Windows, All Outputs