С Django Администратор Я устанавливаю кнопку импорта для импорта файлов .csv. Все работает нормально, пока я устанавливаю models.py с CharField.
Когда я превращаю его в FloatField:
from django.db import models
class Moon(models.Model):
name = models.CharField(max_length=30)
code_name = models.IntegerField()
planet = models.FloatField()
lumen = models.FloatField()
power = models.FloatField()
Бывает, что с десятичной точкой, отмеченной запятой "," я получаю ошибку для строки [3], когда данные имеют разделенное число с плавающей запятой с запятой, а не с точкой:
не удалось преобразовать строку в число с плавающей точкой: '0,00'
У меня красные десятки информации об этой топи c но ничего из этого не помогло мне разобраться в моей проблеме. Насколько я понял, мой приоритет здесь - предварительно обработать файл .csv с тысячами строк, предоставив ему предварительный формат перед загрузкой в admin.py. Я прав? Любой намек на то, как поступить?
def import_csv(self, request):
if request.method == "POST":
csv_file = TextIOWrapper(request.FILES["csv_file"].file, encoding='utf-8')
reader = csv.reader(csv_file)
# create Moon object from passed in data
for row in reader:
Moon.objects.get_or_create(
name=row[0], <-- that row is a str
code_name=row[1], <-- that row is an int
planet=row[2], <-- that row is an int
lumen=row[3], <-- that row is a float
power=row[4] <-- that row is a float