python - Django 错误:ValueError:int() 的无效文字,基数为 10:'10,030'
问题描述
使用此代码将 csv 导入我的 Django DB。这是我的模型数据库,在保存时出现错误。这是造成错误的行
23764,"HUA FU","vessel","DPRK4",-0- ,-0- ,-0- ,"10,030",-0- ,"Panama",-0- ,"Vessel Registration Identification IMO 9020003; Linked To: CHANG AN SHIPPING & TECHNOLOGY."
在我的数据库中,该列是vessel_dwt = models.IntegerField(blank=True, null=True)
我应该如何将列放在我的数据库中?作为浮点数还是字符串?这是我的导入代码。
import csv, sys, os
# project_dir = "/Users/cohen/my-python-project/venv/ofac/ofac_project/ofac_sdn/import_save/"
# project_dir = "/Users/Dropbox/ofac_project/ofac_sdn/import_save/"
project_dir = "/Users/Dropbox/ofac_project"
sys.path.append(project_dir)
os.environ['DJANGO_SETTINGS_MODULE']='ofac.settings'
import django
django.setup()
from ofac_sdn.models import Ofac_Sdn
from ofac_sdn.models import Ofac_Add
from ofac_sdn.models import Ofac_Alt
from ofac_sdn.models import Ofac_Sdn_Comments
file = 'new_sdn.csv'
file1 = 'new_add.csv'
file2 ='new_alt.csv'
file3 ='new_sdn_comments.csv'
data = csv.reader(open(file),delimiter=",")
for row in data:
if row[0] !="Number":
post = Ofac_Sdn()
post.number = row[0]
post.name = row[1]
post.b_i=row[2]
post.programe=row[3]
post.more_info=row[4]
post.vessel_call_sign=row[5]
post.vessel_type=row[6]
post.vessel_dwt=row[7]
post.tonnage=row[8]
post.vessel_flag=row[9]
post.vessel_owner=row[10]
post.dob_aka=row[11]
post.save()
在导入之前,我要替换奇数字符:
import requests
import csv, os, sys
newstring = "null"
newinteger = str(0)
newstring1= "null"
newstring2= "null"
newstring3= "null"
with open('sdn.csv', 'r') as file1, open('new_sdn.csv', 'w') as file2:
reader = csv.reader(file1, delimiter=',')
writer = csv.writer(file2, delimiter=',')
for row in reader:
replaced7 = row[7].replace('-0-', newinteger)
row[7] = replaced7
writer.writerow(row)
谢谢!
解决方案
我已经消除了田野中的所有昏迷。
我添加了这段代码:
replaced7b=row[7].replace(',', '')
row[7]=replaced7b
replaced8 = row[8].replace('-0-', newinteger)
row[8]=replaced8
replaced8b=row[8].replace(',', '')
row[8]=replaced8b
推荐阅读
- mocking - 使用模板基类模拟函数时出现“无趣的模拟函数调用”异常
- django - 从管理员端保存数据时如何显示错误消息。?我使用 models.model 来创建模型
- yii2 - Yii2 rest api 未找到
- matlab - 发电机的优化调度
- html - 将关键帧值设置为偏移量?
- keycloak - Keycloak Admin API - 如何检查密码是否符合密码策略
- node.js - 看不到 nodeJs serverur 端口工作/相同端口客户端/服务器不会导致错误
- php - 从数据库中检索数据到下拉菜单,但它没有显示在那里
- android - Firestore 文档参考序列化
- sql-server - SQL 事务 - 两个插入