Импорт из CSV изменяет числовой формат в научную нотацию (1,23E+18)

Предположим, у меня есть следующая строка в .csv файл, который я пытаюсь открыть в Excel 2010:

1073741824;1073741824;1073751824;1073741832;1152921513196781569

Однако, когда я действительно открываю его, значение 1152921513196781569 изменения в 1,15292E+18и даже если я изменю тип содержимого ячейки на числовой с нулевой дробной точностью, это приведет только к 1152921513196780000,

Есть ли способ преодолеть эту проблему?

3 ответа

Решение

Одна возможность - сначала отформатировать лист как текст, а затем вставить из текстового редактора. Вот шаги:

  • На чистом листе выделите все ячейки и установите для числового формата текст
  • Введите что-то в A1 и затем выберите Данные | Текст в столбцы | С разделителями | Точка с запятой
  • Откройте CSV-файл в блокноте, выберите все с помощью Ctrl+A, скопируйте и вставьте на лист

Откройте новую рабочую книгу. Используйте инструмент Данные-> Получить внешние данные-> Из текста, чтобы импортировать CSV. В мастере укажите форматирование для этого поля как Текст.

Оба приведенных ответа верны. Я предлагаю третий вариант, а также некоторые пояснения:

Когда Excel открывает файл CSV, он пропускает "мастер импорта текста", выполняя идентификацию данных за вас. Он постарается быть полезным, и выявляет числа, даты, валюты... Это вызывает у вас 1152921513196781569 быть показано (и сохранено!) как 1,15292E+18

Помимо копирования данных (это быстро, но раздражает, когда размер данных огромен) или использования внешних данных для получения данных, здесь есть альтернатива:

Переименуйте файл в расширение.txt.

Затем откройте файл.txt в Excel. Он покажет мастер импорта данных, и вы можете выбрать все поля и пометить их как текст. Теперь, когда вы сохраните как CSV, цифры не будут преобразованы.

Другие вопросы по тегам