On 2014-02-04 04:07, Thomas wrote:
I've written a script to log data from my Arduino to a csv file. The script 
works well enough but it's very, very slow. I'm quite new to Python and I just 
wanted to put this out there to see if any Python experts could help optimise 
my code. Here it is:

[snip]
     # Cleaning the data_log and storing it in data.csv
     with open('data.csv','wb') as csvfile:
         for line in data_log:
             line_data = re.findall('\d*\.\d*',line) # Find all digits
             line_data = filter(None,line_data)    # Filter out empty strings
             line_data = [float(x) for x in line_data] # Convert Strings to 
float

             for i in range(1,len(line_data)):
                 line_data[i]=map(line_data[i],0,1023,0,5)

You're doing this for every in line the log:

             csvwrite = csv.writer(csvfile)
[snip]

Try moving before the 'for' loop so it's done only once.

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to