WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   input from a text file (https://forum.worldviz.com/showthread.php?t=4852)

dig 10-17-2013 11:49 AM

input from a text file
 
Hi there
I'm designing an experiment in which I read input values off a text file. The text file has 5 columns, the first two containing numbers and the other 3 Greek words. I use the following code:
s = line.split()
myTrial = [float(s[0]),float(s[1]),s[2],s[3],s[4]]

But, I'm running into a problem. If I save the the text file in ANSI format then the numbers are read correctly but the words when displayed by vizard come up as scrambled characters. If I save the text file in UTF-8 then the text shows up correctly in Greek but then vizard gives me an error when reading the numbers (I know that the text shows up correctly because I tried a text file without the numbers and it works fine).

I don't know much about character encoding so I'm not sure if there is an easy solution to this problem. One option is to have numbers and text in separate text files but this defeats the purpose of my using an input file to simplify experiment design. Any ideas?
Thanks in advance!
marios

Jeff 10-17-2013 05:15 PM

Try encoding to ascii before converting to float:
Code:

asciidata=s[0].encode("ascii","ignore")
number = float(asciidata)


dig 10-18-2013 01:03 AM

Thanks for the reply Jeff. Unfortunately, it doesn't seem to work (unless I did something stupid of course). Here's my code:

for line in JRDfile:
s = line.split()
asciidata0=s[0].encode("ascii","ignore")
asciidata1=s[1].encode("ascii","ignore")
thisTrial = [float(asciidata0),float(asciidata1),s[2],s[3],s[4]]
JRDTrials.append(thisTrial)

And here's the error message I get:

Traceback (most recent call last):
File "", line 11, in ?
File "Anthi_JRD.py", line 41, in ?
asciidata0=s[0].encode("ascii","ignore")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

Note the the text file I'm trying to read from is in UTF-8 format.
Cheers,
marios

dig 10-18-2013 01:06 AM

Just to clarify that indentation in the for loop went away when I copied-pasted from my script. So, there's no problem there.

Jeff 10-18-2013 09:36 AM

That code worked for me in Vizard 4 (python 2.7) but produced the same error in Vizard 3 (python 2.4). Are you using Vizard 4?

dig 10-20-2013 01:20 AM

Hi Jeff, I tried it with Vizard 3 at home and got the error message). I have Vizard 4 at the lab, I will try it there on Monday. Thanks!


All times are GMT -7. The time now is 03:18 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC