Увеличение предела размера импорта данных из CSV в Excel

12

У меня есть загрузка данных в CSV-файл, который я импортирую в Excel, большинство из них в порядке, но один из моих столбцов содержит до 1000 символов данных. К сожалению, Excel взял на себя задачу предположить, что это больше данных, чем мне нужно, и, похоже, сокращает их (до 255 символов).

Как я могу увеличить этот лимит и сохранить все мои данные?

SwiftD
источник
Что вы подразумеваете под «К сожалению, Excel взял на себя смелость предположить, что это больше данных, чем мне нужно, и, похоже, сокращает их». это не отображается правильно? что произойдет, если вы положите =LEN(A1)в Excel, где A! ссылка на ваш текст?
Питер Альберт
Там написано 255, и когда я смотрю на данные, в поле ввода формулы оно просто внезапно останавливается. Я могу отобразить полные данные в открытом офисе, но как только я вставлю в Excel, кажется, что он ограничивается 255 символами. Причина, по которой я не пользуюсь открытым офисом, заключается в том, что я могу использовать данные в качестве данных или делать в них просмотр.
SwiftD
Excel может обрабатывать тексты длиннее 255 символов. Однако, если ячейка заполнена VBA, это немного сложно. Каков твой источник? Как вы получаете это в Excel?
Питер Альберт
У меня есть экспорт CSV из magento. Если я открою в ОО, он имеет полный текст. Если я открою в Excel его обрезать. Также обрывается, когда я вставляю из OO, чтобы преуспеть, и я не могу больше печатать вручную в ячейке, он просто обрезается в той же точке, как только я покидаю ячейку.
SwiftD
Может быть, что-то не так с CSV? Можете ли вы обновить свой вопрос и опубликовать несколько строк? Кроме того, возможно, настройки разделителя и разделителя на вашей машине начинают действовать?
Ян Догген

Ответы:

13

В Excel есть странная ошибка. Я объясню здесь, как избежать (не исправить, просто избежать) этого, и, возможно, это скоро исправят программисты MS Office. Может быть, это даже было исправлено в Excel 2013, я еще не открыл его.

Итак, это проблема.

Максимальная длина текстовой ячейки - 32767, и это нормально.

Максимальная длина числовой ячейки составляет 255, и это нормально.

Но если у вас есть ячейка, которая вызывает парсер чисел, дает сбой, а затем вызывает парсер текста, здесь будет большой беспорядок.

Например:

...,"This is a cell with 30,000 characters........",...

буду работать.

Но если вы положите небольшой минус в начале, как в

...,"-This is a cell with 30,000 characters........",...

вы увидите только 255 первых текстовых символов, потому что EXCEL считает, что это отрицательное число.

Надеюсь, это поможет.

khitron23
источник
3
Это самая странная и самая глупая ошибка, которую я когда-либо видел в коммерческом программном обеспечении. Это буквально сводит меня с ума, как на земле вы можете заплатить за этот вид дерьма.
astrojuanlu
Очень хорошее объяснение, спасибо. К сожалению, я могу подтвердить, что - спустя 3 года - ошибка все еще присутствует в Excel 2016 ...
BurninLeo
Ну, @BurninLeo, могу вам сказать, что через три дня после моего первоначального ответа я позвонил в Центр разработчиков MS Office и дал им ссылку на эту тему для супер-пользователей.
khitron23
Кажется, проблема решена с помощью Excel 365 ProPlus версии 1902.
Карстен Франке,
1

Я столкнулся с этой проблемой с файлом CSV, который имел несколько длинных текстовых полей, которые иногда начинались с тире. Похоже, что импорт Excel пытается обработать поле как число из-за тире, а импорт числа обрезает его до 255 символов. Когда это не удается, он импортирует его как текст, но только первые 255 символов.

Чтобы избежать проблемы, мне пришлось импортировать CSV, а не просто открывать его. В мастере импорта я выбрал столбец, в котором возникли проблемы, и переключил его тип с общего на текстовый. Тогда Excel даже не попытается разобрать его как число, и я получу полную ширину столбца.

Дон Киркби
источник
0

Во-первых, спасибо всем за помощь в попытке решить эту проблему. Оказывается, Excel может с радостью вместить в ячейку более 255 символов (предположительно до 32 767, как уже упоминалось ранее, если у вас есть баран для этого).

Так почему же не работа?

Краткий ответ: я не уверен. Когда я впервые вывел данные в Excel, я экспортировал их в формате CSV, а затем открыл в Excel. Это сократило столбцы (в 255). (Файл CSV содержал все данные при просмотре в блокноте, но не при повторном сохранении в Excel).

Столбец, о котором идет речь, содержал несколько точек с запятой, но это не соответствовало точке отсечения (всегда 255), и я не использовал; в качестве разделителя.

Мое решение было сделать экспорт в виде файла XLS. С тех пор он был успешно сохранен как CSV-файл с полными данными.

Надеюсь, это кому-нибудь поможет, хотя я до сих пор не уверен, в чем именно проблема.

SwiftD
источник
Простое поиск в Google приводит к большому количеству сообщений на форуме людей, имеющих ту же проблему; Вероятно, это просто ошибка в процедуре импорта в Excel CSV.
Маркус Чан
0

Согласно http://office.microsoft.com/en-us/excel-help/excel-specifications-and-limits-HP010342495.aspx , Excel 2010 поддерживает только ширину столбца 255 символов.

Редактировать: это проблема, о которой вы говорите, веб-ткач? Делает ли Format> Cells> Wrap Text остальные символы видимыми?

Изменить: не берите в голову, этот ответ несколько не связан с проблемой (возможно, как-то связаны, но он не отвечает на вопрос)

Маркус Чан
источник
Нет, это КОЛОННА ШИРИНА. Из той же таблицы «Общее количество символов, которое может содержать ячейка», составляет 32 767 символов.
Вики
@ Вики, разве это не проблема, с которой сталкивается спрашивающий? Или я неправильно понял вопрос?
Маркус Чан
@nixda реально? да реально раздражает. Я не могу поверить, что Excel не может обрабатывать больше 255 символов. Есть способ сделать это!
SwiftD
@ Маркус Я не понимаю, что это значит под шириной столбца. Это не просто проблема отображения данных, которых там нет. Это обрывается. когда я сохраняю как csv, данных там нет. когда я делаю len (ячейка), результат - 255.
SwiftD
@MarcusChan, количество символов должно быть ограничено 32767. Пользователь испытывает ограничение до 255. То, на что вы ссылались, было шириной столбца, которая связана с тем, как отображается столбец, что не является проблемой ОП.
Вики
0

Как правило, это старое ограничение, которое больше не применяется к современным версиям Excel (в любом случае, 2013). Однако, если рабочая книга была первоначально создана в более старой версии, объекты ячеек, которые были изменены (то есть созданы с определенными свойствами и атрибутами) в более старой версии, по-видимому, сохранят ограничение в 255 символов даже при открытии в более новых версиях Excel!

Исправление:

  1. Используя современную версию Excel, в другой неиспользуемой ячейке на листе воссоздайте все условия форматирования и / или условия объединенного диапазона, необходимые для проблемной ячейки.
  2. Убедитесь, что он установлен в общий или текстовый формат.
  3. Вырежьте или скопируйте и вставьте новую воссозданную версию ячейки (или объединенный диапазон) и вставьте ее поверх старой, поврежденной версии.
  4. Теперь при вводе данных в ячейку проблема больше не должна проявляться.

Как впоследствии опубликовал WebweaverD, он нашел решение своей проблемы импорта csv. Кроме того, если ячейки заполняются через VBA, то ситуация усложняется, как упоминалось в других ответах. Но если данные вводятся вручную или копируются / вставляются из другого приложения в устаревшую рабочую книгу, проблема может быть вызвана этой проблемой устаревших атрибутов ячеек.

pstraton
источник
0

У меня была похожая проблема, все мои значения были в формате (чтобы можно было конвертировать числа в числа, текст в текст, но он был обрезан длинными текстами:

...,="Long Text........",...

если вы поставите = в начале, вы увидите только 255 первых текстовых символов, потому что EXCEL считает, что это число, поэтому удалите = при запуске.

Надеюсь, это поможет.

metodi25
источник
1
Это отличается от того, что кто-то еще, возможно, уже упомянул в ответе? Это может потребоваться пометить флажком, и вы можете попросить модератора преобразовать его в комментарий, так как у вас недостаточно представителя, чтобы сделать это самостоятельно.
Сок Pimp IT
0

Обходные пути (доступно в Excel 2016) ...

Вариант А. Получите Excel для запуска через мастер импорта текста (используя что-то вроде расширения файла .txt или расширения .xls, примите предупреждение, выберите первый столбец и выполните Data => 'Text to Columns'). Затем измените тип столбца с общего на текстовый в конце мастера.

Вариант Б. Используйте Get & Transform. Данные => Новый запрос => Из файла => Из CSV.

stevlars
источник
Подумайте о том, чтобы добавить ссылку на этот ответ в поддержку того, что вы заявляете.
Сок Pimp IT