2

При импорте CSV в Excel есть столбец данных, который иногда содержит более 255 символов. При выполнении команды text to column он усекает эти ячейки до 255 символов. Есть ли способ обойти это в Excel 2016?

2 ответа2

1

Ваша строка, которая, когда я копирую / вставляю ее, состоит всего из 281 символа. Поэтому я ожидаю, что он разделится на две строки по 5 и 275 символов.

Однако в этой строке есть что-то странное, и похоже, что старый мастер Text-to-Columns урезал ее до 255 символов. Сначала я подумал, что это может быть связано с различными символами Unicode ZWSP и ZWNJ разбросанными здесь и там. Но замена их пробелами все равно привела к тому же усечению.

Другие текстовые строки ASCII могут быть разделены запятой, даже если их длина намного больше 255. Возможно ошибка?

Однако в Excel 2016 вы можете использовать инструмент разделения столбцов, доступный на вкладке « Get & Transform » на ленте Data . Если вы обновили свою версию (например, через Office 365), она может открыться, если дважды щелкнуть файл CSV. Если это не так, откройте ваш файл, используя выбор « From Text/CSV « Get & Transform Data . Следуйте инструкциям (в нем должен быть указан тип файла Unicode) и выберите запятую для разделения столбца. При этом он расщепляется правильно.

Кроме того, если вы можете импортировать строку CSV в одну строку (не разделенную) в Excel, вы можете использовать опцию From Table/Range в Get & Transform чтобы перейти к команде разделения столбца, которая будет работать.

РЕДАКТИРОВАТЬ: Дальнейшее исследование этого показывает, что ошибка, кажется, сработала, если первый символ сегмента после запятой является знак плюс (+), минус (-) или равно (=).

Оказывается, что еще один обходной путь для ошибки - указать, что столбец должен быть классифицирован как TEXT (шаг 3 мастера). Это может быть полезно для пользователей более старых версий Excel.

1

Нет, нет Это ограничение "ширины столбца", как указано в спецификации: пределы Excel 2016

Лучше всего будет разделить содержимое перед импортом, используя какой-либо тип сценария. то есть питон. Много примеров переполнения стека:

https://stackoverflow.com/questions/7111068/split-string-by-count-of-characters

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .