I am trying to use the following code:
for x in story:
var1 = str(x)
var1 = var1.replace("<p>", "\n")
var1 = var1.replace("</p>", "")
story[x] = var1
To remove paragraph tags, and insert a line break, and then reinsert them into the variable. The strings are as follows:
Panera Bread (NASDAQ: <a class="ticker" href="/stock/pnra#NASDAQ">PNRA</a>) is down 6 percent today over expectations of food inflation of 4.5% in Q3 and 5% for Q4. In addition, Panera Will Raise Menu Prices in Q4.
PNRA recently posted second quarter 2011 earnings of $1.18 per share. Reported earnings also outpaced the prior-year quarter earnings of 85 cents per share.
But shares were also lower ahead of the opening bell after the company reported weaker-than-expected same-store sales figures for its recent quarter late Tuesday. Its profit of $1.18 a share topped analysts' consensus call by a penny.
For the twenty-six weeks ended June 28, 2011, net income was $68 million, or $2.27 per diluted share. These results compare to net income of $53 million, or $1.67 per diluted share, for the twenty-six weeks ended June 29, 2010, and represent a 36% year-over-year increase in diluted earnings per share.
The error message I am getting is:
Traceback (most recent call last):
File "C:\Python27\Sample Programs\Get Stuff from Pages\Pages and Stuff 0.1.py", line 34, in <module>
story[x] = var1
TypeError: list indices must be integers, not Tag
for
cycle iteratively substitutes elements of list story
into x
variable, while []
list instruction requires element index. This results into error.
l = ['a','b']
print l[0]
print l['a'] // type error
EDIT : I missed that story does not consists of strings. This changes can do the job:
story = [str(x).replace("<p>","\n").replace("<\p>","") for x in story]
Note : now story
consists of strings, not Tags.
您可能希望将项目附加到列表中:
story.append(var1)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.