Когда я открываю файл CSV в Numbers, он «услужливо» преобразует поля, которые он распознает, в числовые, удаляя начальные нули, преобразовывая вещи, которые он распознает как даты, и т. Д.
Например, вы вводите код UPC в таблицу Numbers 005566778899 , Numbers автоматически преобразует его в 5566778899 . Это не то, что я хотел бы ...
Однако, как я использую Numbers, я открываю базы данных с тысячами кодов UPC с предшествующими нулями. Некоторые из них также содержат даты, которые числа также переформатируют. По сути, я не хочу ни одной из этих функций, я хочу, чтобы мой контент оставался один.
Как я могу получить Numbers, чтобы оставить мои данные нетронутыми при открытии файла CSV?
Преобразование полей в текст после импорта не поможет, так как данные уже были испорчены ...
macos
mac
numbers
autocorrect
henryaaron
источник
источник
Ответы:
Если поле в CSV-файле начинается с апострофа (
'
), и Excel, и Numbers будут обрабатывать это поле как текст, а не отображать его в цифровом формате.Ваши CSV-файлы, по-видимому, пытаются форсировать рендеринг текста через заключенные в двойные кавычки числовые поля, но Numbers и Excel, похоже, не понимают, что числа в двойных кавычках следует рассматривать как строки. Хитрость заключается в том, чтобы модифицировать файлы CSV, чтобы они использовали трюк «начинается с одного апострофа», а не трюк «содержался в двойных кавычках» для числовых полей, но оставляли двойные кавычки для текстовых полей, включая пунктуацию (включая запятые, кавычки, переносы строк и т. д.).
Чтобы обработать ваши CSV-файлы и сделать это, вы можете создать приложение Automator.
В Automator создайте новое приложение.
У него будет одно действие: Run Shell Script (передача ввода в качестве аргументов). Вот сценарий:
Сохраните полученное приложение на рабочем столе. Удалите все CSV-файлы, которые вы хотите использовать в Numbers, на значке приложения, и они будут преобразованы, поэтому Numbers должны сохранять числа в полях в виде буквенных чисел, а не форматировать их или выбрасывать информацию.
Сделайте резервную копию ваших данных, прежде чем пытаться это сделать; возможно, что особенно странно сконструированная строка в поле записи может отбросить результаты здесь.
источник
В частности, вот как обращаться с ведущими нулями . Я думаю, что ваш вопрос больше касается форматирования ячеек, чем автозамены.
Как уже упоминалось, сама функция автозамены является системным элементом и должна быть отключена в Системных настройках.
источник
Huzzah, благодаря этому ответу и другим, теперь есть метод со следующими преимуществами:
Хитрость заключается в том, чтобы не ставить перед каждым полем апостроф и не заключать в двойные кавычки, а ставить префикс
="
и суффикс с"
. При импорте Numbers обрабатывает содержимое поля как строку, а при экспорте удаляет префикс и суффикс.Вот удобный вкладыш, который предварительно обрабатывает файл с именем
my.csv
:Первый
sed
ставит="
в начале каждой строки, меняет каждую запятую на",="
, затем заканчивает каждую строку с"
. Второйsed
затем удаляет все пустые поля, потому что числа задыхаются от них. Наконец, он записывает файл с именем,tmp.csv
который можно дважды щелкнуть или передатьopen
для импорта в Numbers.На практике это искажает любые поля, в которых есть запятые. Возможно, вам лучше обернуть только те поля, которые начинаются с цифр, но тогда вам нужно быть осторожным с началом и концом каждой строки и вашей версией регулярных выражений. Это будет делать в macOS:
То есть, сопоставьте начало строки или запятую, цифру, а затем любое количество символов, которые не являются запятыми, затем конец строки или другую запятую. Заменить на то же начало и конец, но со средним битом, завернутым в
="
и"
.источник