Django:使用Urllib2自动填充CharField

2024-09-30 01:29:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个Djnago项目,想知道是否可以使用使用Urllib2解析的信息来快速为大量数据自动填充feild。这是我的模型

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”,就像这样(uising“python”)管理.py壳牌公司“):

^{pr2}$

我想知道是否可以像从urllib2中提取数据一样自动填充“Industry”字段。以下是我的相关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("&amp;", "&") 

有人知道我是否可以使用从urllib2提取的数据填充“Industry”字段吗?谢谢


Tags: 数据nameselfexchangemodelsurllib2lengthmax
1条回答
网友
1楼 · 发布于 2024-09-30 01:29:04

当然可以。

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("&amp;", "&") 
    row_dict['Industry'] = industry
    Stocks.objects.create(**row_dict)

没有测试过。但我相信类似的方法应该能奏效。

相关问题 更多 >

    热门问题