| Reference | Downloads | Github

Auto log Pavlovia

Description of the problem:

In my online experiment, I used the counterbalancing method (described here: Counterbalancing online — PsychoPy v2021.1) to control my task order. Thus, for each routine in my task I have added a loop specifying when the routine is displayed.
Everything works fine but I don’t really like how my data files look like. For every loop/trial the program writes the data into a seperate line - creating a datafile with a seperate column and line for each routine. (I’ll attach an example datafile.)

ExampleDatafile.csv (54.7 KB)

I would prefer my data to be stored in one line only - is there any way to alter this data storage?
(The data was stored nicely in one line before I added the loops for counterbalancing.)

Thank you!


You seem to have a lot of loops.

You should try to use as few different routines as possible. Your data file will contain one row for every iteration of every loop and around four columns per loop plus separate columns for each routine.

What are the differences between your different routines?

To clarify, the is trials option in loop definitions suppresses the new line in the data file offline but not online.

Yes, I do have a lot of loops and routines. I have a pretty large experiment with many different tasks, instructions, and questionnaires (each a different routine). I think I won’t be able to minimze my routines, thats why I wondered if there is any way to change how the log file is stored.

If that’s not possible, I guess I have to “clean up” my data files after data collection.

I tried to uncheck the “is trials” option, but as you said, it doesn’t change anything online.


Different tasks probably should go in different routines, as opposed to different variations of the same task which can be coded to run through the same routine.

On thing I’ve just discovered is that for some responses it is better to add additional expInfo instead of simply using thisExp.addData so that the results appear on all following rows.

A couple of ways I’ve developed to reduce the number of instruction and form routines are scrollable text and embedded html forms.