我正在尝试从从URL下载的csv将数据导入数据库。 csv大100MB。
def get_csv_data():
url = 'http://dati.ur.gov.lv/register/register.csv'
response = urllib2.urlopen(url)
cr = csv.reader(response, delimiter=';', quotechar='"')
for row in cr:
if row[0] != 'regcode':
print row[2]
ur = Ur()
ur.regcode=row[0]
ur.sepa=row[1]
ur.name=row[2]
ur.name_before_quotes=row[3]
ur.name_in_quotes=row[4]
ur.name_after_quotes=row[5]
ur.without_quotes=row[6]
ur.regtype=row[7]
ur.regtype_text=row[8]
ur.type=row[9]
ur.type_text=row[10]
ur.registered=row[11]
ur.terminated=row[12]
ur.closed=row[13]
ur.address=row[14]
ur.adressid=row[15]
ur.region=row[16]
ur.city=row[17]
ur.atvk=row[18]
ur.reregistration_term=row[19]
ur.uri=row[20]
ur.save()
我只通过两行然后获得500错误代码。什么是错的,我该怎么做?
答案 0 :(得分:1)
500 HTTP response code是服务器不在您身边的问题:
以数字“5”开头的响应状态代码表示案例 服务器知道它有错误或无法执行 执行请求。除了响应HEAD请求时, 服务器应该包含一个包含错误解释的实体 情况,以及是暂时还是永久的情况。用户 代理商应该向用户显示任何包含的实体。这些回应 代码适用于任何请求方法。
FWIW,您可以更好地使用page = response.read()
下拉整个网页,然后使用cr = csv.reader(page.splitlines(), delimiter=';', quotechar='"')
检索后循环遍历这些行。
答案 1 :(得分:0)
500是内部服务器错误,这意味着安全设置阻止访问或数据库已损坏且您无法读取。检查安全设置,看看您是否能够通过网站查询数据库。