При импорте CSV в Excel есть столбец данных, который иногда содержит более 255 символов. При выполнении команды text to column он усекает эти ячейки до 255 символов. Есть ли способ обойти это в Excel 2016?
2 ответа
Ваша строка, которая, когда я копирую / вставляю ее, состоит всего из 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.
Нет, нет Это ограничение "ширины столбца", как указано в спецификации: пределы Excel 2016
Лучше всего будет разделить содержимое перед импортом, используя какой-либо тип сценария. то есть питон. Много примеров переполнения стека:
https://stackoverflow.com/questions/7111068/split-string-by-count-of-characters