Excel 2010 - искажение длинных номеров

1032
Emma

У меня есть набор данных, полученных в формате .csv, в котором у меня есть набор длинных номеров UPRN. Я участвую в процессах сопоставления данных, связанных с новыми правилами голосования IER.
Когда я открываю файл .csv, цифры представлены в научном формате (2.00E + 11, каждое число одинаковое). Все эти цифры должны быть разными. Для одной таблицы я уже сделал следующее:

Я открыл файл в Блокноте, сохранил в .txt. Выберите «Данные»> «Из текста». В мастере импорта текста, шаг 1, выберите «Разграничить». В шаге 2 мастера импорта текста выберите «Запятая». В шаге 3 мастера импорта текста выберите столбец с длинным идентификатором и выберите текстовый формат данных. Тогда закончите.
Это работало для одной таблицы. Все числа были раскрыты в рабочем листе Excel, все числа были разными, как и должно быть. Но когда я попытался сохранить как .csv, все числа вернулись к 2.00E + 11 (все то же самое число).

Затем, когда я попытался выполнить вышеизложенное с двумя другими книгами, которые у меня были, по какой-то причине это не сработало, хотя я выполнил каждый шаг точно таким же образом. Даже когда я открыл в блокноте, они были одинаковыми числами (2.000E + 11, которые, когда я конвертировал в текст, доходили только до 2000030000000). Мне удалось преобразовать исходный файл .csv в рабочую книгу, преобразовать его в блокнот, и когда я прокрутил все символы ниже, я увидел, что среди беспорядка были исходные данные.
Как я могу получить эти данные, чтобы раскрыть себя ?! Любые предложения с благодарностью приняты, или действительно, пожалуйста, дайте мне знать, если есть ссылка на это в другом месте.

Большое спасибо

0

1 ответ на вопрос

0
Michael Frank

This is happening because Excel sees these cells as numbers, but because they are so long they are being interpreted as Floating Point numbers. Number formatting precision in Excel maxes out at 15 digits as explained here.

What you should probably do is handle each value as a string. Adding a single ' at the beginning of every cell with data in it should fix this issue up, or you can format all the cells as a string or text.

This method is not without it's limitations, however. If you are going to be processing this data then you may need to have some way to sanitize the data before feeding it into whatever processes it.

Большое спасибо за ваш ответ. Этот метод показал число полностью, к сожалению, это был неправильный номер. Это разочаровывает, потому что где-то там застряло правильное число, и метод работал ранее. Но большое спасибо за вашу помощь, я постараюсь восстановить исходные данные и посмотреть, как это происходит! Большое спасибо еще раз. Эмма Emma 10 лет назад 0
После того, как номер был изменен, нет никаких шансов, что исходные данные останутся там, если вы сохранили файл. Удачи в получении ваших данных, однако. Michael Frank 10 лет назад 0