On 9 Aug 2006, at 11:04 AM, Chris Lambacher wrote: How is your data stored? (site was not loading for me).
In the original source HTML, it's like this (I've deleted all but the beginning and the end of the list for clarity):
var table_body = [ ["ATVI", "Activision, Inc.",12.75,0.150000,1.19,2013762,0.04,"N","N"] ,["YHOO", "Yahoo! Inc.",27.7,0.260000,0.95,6348884,0.21,"N","N"] ]; More sophisiticated situations (like nested lists) may require something like pyparsing.
I could do that, or I could do something like the re.* trick mentioned by another poster. But, doesn't it offend anyone else that the only clean way to access functionality that's already in Python is to write long complicated Python code? Python already knows how to extract a list object from a string; why should I have to rewrite that?
B.
On Wed, Aug 09, 2006 at 10:23:49AM -0400, Brendon Towle wrote: Slawomir Nowaczyk noted:
#> Heck, whenever *is* it OK to use eval() then? eval is like optimisation. There are two rules: Rule 1: Do not use it. Rule 2 (for experts only): Do not use it (yet).
So, that brings up a question I have. I have some code that goes out to a website, grabs stock data, and sends out some reports based on the data. Turns out that the website in question stores its data in the format of a the source for "var table_body"). So, the part of my code that extracts the data looks something like this: START_MARKER = 'var table_body = ' END_MARKER = '];' def extractStockData(data): pos1 = data.find(START_MARKER) pos2 = data.find(END_MARKER, pos1) return eval(data[pos1+len(START_MARKER):END_MARKER]) (I may have an off-by-one error in there somewhere -- this is from memory, and the code actually works.) My question is: what's the safe way to do this? B. -- Brendon Towle, PhD Cognitive Scientist +1-412-690-2442x127 Carnegie Learning, Inc. The Cognitive Tutor Company ® Helping over 375,000 students in 1000 school districts succeed in math.
References
Visible links
--
-- Brendon Towle, PhD Cognitive Scientist +1-412-690-2442x127 Carnegie Learning, Inc. The Cognitive Tutor Company ® Helping over 375,000 students in 1000 school districts succeed in math.
|