Skip to main content

Hi forum,

 

I’m trying to do something I successfully used many times before. But for some reason it’s not working this time. I’ve delved into it and done research but I can’t work it out. It’s a really simple thing. 

 

I just need to read in three csv files with identical schemas into one FeatureReader.

 

I have a Creator, connected to a FeatureReader.

 

In the FeatureReader I’ve selected CSV as the format. In Dataset I selected the three dots (…), browsed to the data source location and then selected the three files. So, now in Dataset I have this:

 

"E:\FME temp source data\Scratch\TestPoints\one.csv","E:\FME temp source data\Scratch\TestPoints\three.csv","E:\FME temp source data\Scratch\TestPoints\two.csv"  

 

In FeatureReader I have ‘One per feature type’ selected in Output ports.

 

But, when this is read in, only one output port is created in the FeatureRader. That one output port is called csv and it includes all the records from the three inputs in the one output.

 

How do I force it to create three output ports from the three input CSV files?

 

Thanks,

  

All CSVs regardless of the name of the CSV will be assigned ‘CSV’ to the fme_feature_type. This is the nature of reading the CSV file format in FME. So, one output port is expected. Other file formats such as shapefile, the fme_feature_type is assigned the name of the file itself. So that format would work for what you are wanting to do.

If you are set on only using one FeatureReader, I would look into an AttributeExposer where you could expose the fme_basename format attribute which would store the name of the CSV. From there you could TestFilter or AttributeFilter to get your 3 separate outputs.

Otherwise, I’d probably just use 3 FeatureReaders.


Thanks for the response.

 

It turns out to be that I needed to tick the relevant source files in Constraints>Feature Types To Read. 

Doing that gives me the separate output ports.

 

Thanks,

 


Thanks for the response.

 

It turns out to be that I needed to tick the relevant source files in Constraints>Feature Types To Read. 

Doing that gives me the separate output ports.

 

Thanks,

 

Learn something new every day!


Hello,

Interesting, I’m using Form 2024 and for me, setting the constraint value did nothing, the information was still being passed to only one output port. I did notice that for some reason (I’m new to FME so not sure how everything works yet), the attributes that were being exposed matched the list of attributes I was forcibly exposing from a different workspace I was working on using another FeatureReader.

And if you ask “did you removed those from the feature reader?”, the answer is: there was nothing set up there to begin with. I was working on a blank new workspace, it is as if the FME Form app remember the last configuration I used from the previous FeatureReader in the previous workspace, which is good that the sw is so smart but not great because it makes you work more to change things to how you need them instead of just starting with defaults like it should (imo).

In any case, I was able to make it work by setting the parameter value of Feature Type Name to “From File Names”, then changing the output port configuration to “Specific”, clicking the 3 dots next to the text box, and selecting the file names (in my case 3 different file names).

This created 3 separate output port for each file name with each one maintaining their different attributes (which was what I wanted).

Of course this would only work for fixed workspaces and not for dynamic ones, but I will keep tweaking it to see if I can make it work as well for dynamic work spaces.

Anyway, I just wanted to share that here since this was the one post that I was able to find talking about what I specifically wanted to do and somehow what was described in the post did not worked for me.

By now.

RZ.-

 

 


Hello,

Interesting, I’m using Form 2024 and for me, setting the constraint value did nothing, the information was still being passed to only one output port. I did notice that for some reason (I’m new to FME so not sure how everything works yet), the attributes that were being exposed matched the list of attributes I was forcibly exposing from a different workspace I was working on using another FeatureReader.

And if you ask “did you removed those from the feature reader?”, the answer is: there was nothing set up there to begin with. I was working on a blank new workspace, it is as if the FME Form app remember the last configuration I used from the previous FeatureReader in the previous workspace, which is good that the sw is so smart but not great because it makes you work more to change things to how you need them instead of just starting with defaults like it should (imo).

In any case, I was able to make it work by setting the parameter value of Feature Type Name to “From File Names”, then changing the output port configuration to “Specific”, clicking the 3 dots next to the text box, and selecting the file names (in my case 3 different file names).

This created 3 separate output port for each file name with each one maintaining their different attributes (which was what I wanted).

Of course this would only work for fixed workspaces and not for dynamic ones, but I will keep tweaking it to see if I can make it work as well for dynamic work spaces.

Anyway, I just wanted to share that here since this was the one post that I was able to find talking about what I specifically wanted to do and somehow what was described in the post did not worked for me.

By now.

RZ.-

 

 

I have used the same solution. In the Parameters, changing Feature Type Name(s) from “From Format Name” to “From File Name(s)”. With Output Ports set to One per Feature Type, it auto-created the necessary output ports for the data I had selected (you may need to Regenerate ports if it had previously made them).


Reply