using python to automate data translation process from eprime to SPSS

Peter Quain pquain at une.edu.au
Sun Aug 19 09:55:45 UTC 2012


Don't know why you'd want to go to this effort to save a single menu 
driven operation (save as), but at least as a start it seems  ... 
That asterisks are Section delimiters (e.g., *** Header Start *** and 
*** Header Ends *** ... or *** LogFrame Start *** and *** LogFrame 
End ***); within all Sections each line records a variable name and 
value; that the colon (:) delimits variable name and value per line 
within Sections; and that Level numbers in the colon delimited format 
occur on lines between asterisk delimited section End and Start 
statements. The Experiment structure exists as a hierarchy of n 
levels: (descending ...) Session (Experiment) / Block / Trial/ 
...  withSubTrial elements 1 ...n ... or something like that. 
SubTrial elements are logged attributes from a trial sequence, and in 
my sample file all occur as children of Level 3. Now it is a matter 
of constructing an algorithm which transposes this (well, the correct 
...) file structure appropriately to dispense with useless data and 
collect single variables of interest in single columns, not multiple 
rows across sections.

It is perhaps possible that you could accomplish this within SPSS 
using (as a starting point) String Function syntax embedded in Python 
script looping structures. The raw .txt file will import into SPSS as 
a single string variable if you define no delimiter, and the text 
qualifier as 'Nothing'. So in fact it is easy to circumvent edataaid 
in terms of getting the edat .txt format data file into SPSS, it is 
as you say the parsing which presents the exercise. Maybe you would 
be looking for SubTrial elements logged after a Level 3 Section was 
identified, and prior to a *** LogFrame End*** statement. I think 
though that it might be equally possible to parse the file using 
Python libraries alone (as has obviously been done by mysterious 
python forum person(s) with their tab-del output) ... I suppose you 
would look for string functions to parse the file, array commands to 
format the data, and write(?) commands to set the file to disk. (?) 
Of course, there are many ways to skin a cat. But in any way it is 
correctly capturing the data elements sequentially from each Level 3 
(in my example) child that will perhaps win the beginning of the day at least.

Best
Peter



At 01:27 PM 19/08/2012, you wrote:
>Thank you for your reply Peter but that is not exactly what I was 
>looking for and I probably did not clarify enough.  I know how to 
>use EdataAid, I just want a way to circumvent it.  If you look in 
>the folder where your edat files are stored there is also a .txt 
>file with the data information.  I was wondering if I could somehow 
>translate this file into something useable and skip edataid all 
>together.  I am trying to automate the process so I can do it with a 
>large amount of data all at once and ensure that it is all done the 
>same way without having to worry about human error (like when 
>someone accidentally forgets to uncheck the unicode box or clicks on 
>the wrong thing).  It looks like the txt file contains the data from 
>the experiment but it looks all jumbled up and in one 
>column.  Someone on the python forums said that they had created 
>script that would parse out the data from that text file and make it 
>usable.  Unfortunately they did not really elaborate how to do 
>that.  Thank you again for your reply Peter and I hope I helped 
>clear things up a bit.
>-Kyle
>
>On Saturday, August 18, 2012 7:33:05 PM UTC-4, Kyle wrote:
>Hello,
>I am currently struggling with trying to automate my data 
>translation process from eprime to SPSS.  I am not using emerge 
>because I need to create individual spss data files for each of my 
>subjects.  I have written sytax that automates the translation from 
>the edat output (tab-separated) to an SPSS data file but I need to 
>figure out a way to circumvent e-dataAid so I can automate the whole 
>process and reduce the chance of any errors during the process.  I 
>was planning on using python so that I could have the user select 
>the files that they want to convert to SPSS and then it does it 
>automatically.  From what I gathered from python help forums is that 
>I need to parse the raw data txt document into a tab-separated 
>file.  Is there a way to do this or documentation how to do this 
>somewhere?  The workflow would be something like: raw data txt file 
>--> tab separated --> spss syntax (it reads from a list file I 
>created in spss) --> spss data file.  I think the main spot I am 
>stuck at is parsing the data from the raw file so I can circumvent 
>edataAid.  From there it seems like it might be somewhat 
>straightforward.  Thank you in advance for any help you can 
>provide.  If you have any tips for the python part of this process 
>that would be appreciated as well, but I know the group is for 
>e-prime and do not expect help with that.
>Thank you,
>-Kyle
>--
>You received this message because you are subscribed to the Google 
>Groups "E-Prime" group.
>To post to this group, send email to e-prime at googlegroups.com.
>To unsubscribe from this group, send email to 
>e-prime+unsubscribe at googlegroups.com.
>To view this discussion on the web visit 
><https://groups.google.com/d/msg/e-prime/-/9esR65DcXSkJ>https://groups.google.com/d/msg/e-prime/-/9esR65DcXSkJ.
>For more options, visit 
><https://groups.google.com/groups/opt_out>https://groups.google.com/groups/opt_out.
>
>

-- 
You received this message because you are subscribed to the Google Groups "E-Prime" group.
To post to this group, send email to e-prime at googlegroups.com.
To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.linguistlist.org/pipermail/eprime/attachments/20120819/9d19fc7d/attachment.htm>


More information about the Eprime mailing list