django - /assignment/get/ 中的 ValueError 字段“zip”需要一个数字,但得到了“zip”
问题描述
在将数据从csv
文件存储到数据库时出现错误:
ValueError at /assignment/get/
Field 'zip' expected a number but got 'zip'
模型.py
from django.db import model
class csvData(models.Model):
zip=models.IntegerField()
lat=models.IntegerField()
lng=models.IntegerField()
视图.py
import csv
from .models import csvData
def get(request):
fname="uszips.csv"
with open(fname) as csvfile:
csv_reader=csv.reader(csvfile, delimiter=',')
for row in csv_reader:
csvdata=csvData()
csvdata.zip=row[0]
csvdata.lat=row[1]
csvdata.lng=row[2]
解决方案
第一行可能是标题,所以列的名称。尝试跳过第一行。
此外,您需要将值转换为整数,因为它们都将是字符串。
也许是这样的:
def get(request):
...
with open(fname) as csvfile:
csv_reader = csv.reader(csvfile, delimiter=',')
for i, row in enumerate(csv_reader):
if i == 0:
# skip first row
continue
csvdata = csvData()
csvdata.zip = int(row[0])
csvdata.lat = int(row[1])
csvdata.lng = int(row[2])
...
推荐阅读
- c# - System.Drawing.Image.Save Into Stream 在.Net 5 运行时基于 Debian 的容器中运行时无法正常工作
- java - 如何在工具栏中为过滤器创建自定义弹出菜单?
- java - 为什么 jstat 元空间使用与 visualvm 监视器不同
- javascript - 我想发送缓冲区对象作为 API 的响应
- reactjs - 如何增加 Material-UI React 中的图标数量
- neural-network - apache ignite 中的数据规范化
- vue.js - 更新 vue 组件上的路径 ckeditor
- html - 我正在尝试将图标与三列 CSS 网格的每列中心的文本对齐,但图标和文本稍微偏离中心
- reactjs - 哪个更有效:对经常更新的对象使用多个 useState 挂钩或一个 useState?
- groovy - 在 Spock 中,如何根据某些条件选择数据表中的某些行来运行?