Django保存科学数字

时间:2016-06-02 09:53:22

标签: python mysql django

我正在尝试找到一种格式化科学数字并将其保存到数据库中的方法。我的号码是从csv文件中读取的。

model.py

class Doc(models.Model):
....
    big=models.BigIntegerField(null=True)

views.py

for line in csvfile:
    data = Doc()
    data.big=line['big_number']
    data.save()

以下代码生成此错误:

  

对于基数为10的int()的无效文字:'2,02161E + 12'

2,02E + 12是在标准格式上读取时csv文件上的值,对于数字格式读取为2021610000000时的值。我想存储“2021610000000”。 有没有办法强制读取csv列作为数字?

1 个答案:

答案 0 :(得分:1)

您的数据格式错误。虽然int(' 2,02161E + 12')和浮动(' 2,02161E + 12')确实会产生错误浮动(' 2.02161E + 12' ;) 不会。所以解决方案是

int( float('2,02161E+12'.replace(',','.')) )