Mark,
Thanks, I am using the prerelease and split operator already. After a
nights sleep I tried to take another approach and there is clearly
something I do not understand.
Here is what I am doing,
- I hope others can use successfully, for processing CSV files,
- but only when I resolve a bug.
- Oddly I do find various macros but not widgets in TiddlyWiki that
supposed to parse csv. None of which seems documented at tiddlywiki.com,
only the export process.
I added a tag "<eol>" for end of line to each row in the csv
\define each-row(row)
$row$<br>
\end
<$list filter="[{StaffList.csv}split[<eol>]]" variable=input-row>
<$macrocall $name=each-row row=<<input-row>>/>
</$list>
and I get a list of each row.
Then inside the each-row macro above I am adding the following for each
field, where the nth[] is the position in each row.
<$set name=fieldname value={{{ [[$row$]split[,]nth[1]] }}} >
The full detail for each row is
<$set name=person-tiddler value={{{ [[$row$]split[,]nth[1]] }}} >
<$set name=first-name value={{{ [[$row$]split[,]nth[2]] }}} >
<$set name=surname value={{{ [[$row$]split[,]nth[3]] }}} >
<$set name=person-role value={{{ [[$row$]split[,]nth[4]] }}} >
<$set name=email-address value={{{ [[$row$]split[,]nth[5]] }}} >
<$set name=import-region value={{{ [[$row$]split[,]nth[6]] }}} >
Person=<<person-tiddler>>
first-name=<<first-name>>
surname=<<surname>>
person-role=<<person-role>>
email-address=<<email-address>>
import-region=<<import-region>>
<br><br>
</$set></$set></$set></$set></$set></$set>
The idea being to extract the nth item in each row and assign it to a
variable
*What is ODD is the above actually works for the first row*
*I get a nice line of field=value key/value pairs.*
However it displays all rows, but never sets the variables ever again, only
for the first case.
This is seriously confusing me.
Any feedback would be welcome.
Regards
Tony
On Friday, June 28, 2019 at 2:59:27 AM UTC+10, Mark S. wrote:
>
> Hi Tony,
>
> The 5.1.20 prerelease has new split operators.
>
> You could make your CSV tiddler a data tiddler as you suggested. Navigate
> through all the indexes, and split the line by the comma. Obviously this
> will fail if you have any embedded commas, but it should work with
> "regular" data.
>
> -- Mark
>
> On Thursday, June 27, 2019 at 7:44:46 AM UTC-7, TonyM wrote:
>>
>> This was an old request, but I still need to resolve it.
>>
>>
>> - I have built my own macro csv column to fieldname process
>> - But I do not know how to feed a row at a time from my
>> csv/datatiddler tiddler to the macro
>> - I tried to make it look like a data tiddler
>> - full name:,firstname,surname,type,email,location
>> - But I still could not get each row with indexes
>>
>>
>> I am lost. All I want to do is process a row of a tiddler at a time. This
>> should not be rocket science.
>>
>> Thanks in advance if anyone can get me out of this desperate state.
>>
>> Tony
>>
>> On Tuesday, March 5, 2019 at 10:41:29 AM UTC+11, TonyM wrote:
>>>
>>> Folks,
>>>
>>> I note the addition of a CSV Parser in TW5.1.18 which includes the
>>> csvtiddlers macro for exporting.
>>>
>>> Is there a new or existing method to import csv files and generate
>>> tiddlers ?
>>>
>>> I know there is the excel handling tool but wondering if there is a
>>> simpler title - tiddler and all columns to fields
>>>
>>> Regards
>>> Tony
>>>
>>
--
You received this message because you are subscribed to the Google Groups
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/11060584-e5f5-4d84-b3e0-d6db648fda71%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.