我正在开发一个 Djnago 项目,想知道是否可以使用我使用 Urllib2 解析的信息来快速自动填充大量数据的字段。这是我的模型
from django.db import models
class Stocks(models.Model):
Ticker = models.CharField(max_length=250)
Name = models.CharField(max_length=250)
Exchange = models.CharField(max_length=250)
Industry = models.CharField(max_length=250)
About = models.TextField()
class Meta:
verbose_name_plural = "Stocks"
def __unicode__(self):
return self.Ticker
到目前为止,我已经使用 CSV 中的数据来填充字段“Ticker”、“Name”和“Exchange”,如下所示(uisng“python manage.py shell”):
import csv
from stocks.models import Stocks
fields = ["Ticker", "Name", "Exchange"]
for row in csv.reader(open('NASDAQ.csv', 'rU'), dialect='excel'):
Stocks.objects.create(**dict(zip(fields, row)))
我想知道是否可以像从 urllib2 中提取数据一样自动填充“行业”字段。这是我的相关 urllib2 代码:
indusCode = urllib2.urlopen("http://finance.yahoo.com/q/in?s="+t).read()
industry = indusCode.split('<b>Industry: ')[1].split('</b>')[0]
industry = industry.replace("&", "&")
有人知道我是否可以使用从 urllib2 提取的数据来填充“行业”字段吗?谢谢
最佳答案
当然。
import csv
from stocks.models import Stocks
fields = ["Ticker", "Name", "Exchange"]
for row in csv.reader(open('NASDAQ.csv', 'rU'), dialect='excel'):
row_dict = dict(zip(fields, row))
indusCode = urllib2.urlopen("http://finance.yahoo.com/q/in?s=" + row_dict['Ticker']).read()
industry = indusCode.split('<b>Industry: ')[1].split('</b>')[0]
industry = industry.replace("&", "&")
row_dict['Industry'] = industry
Stocks.objects.create(**row_dict)
没有测试过。但我相信类似的东西应该有效。
关于python - Django:使用 Urllib2 自动填充 CharField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26309739/