Как удалить простой текст, защищающий одинарную кавычку из всех выделенных ячеек в LibreOffice Calc?
Я импортировал файл CSV, в котором первый столбец содержит значения даты и времени в формате ISO 8601, например
2012-01-01T00:00:00.000Z
на первый момент 2012 года.
Затем, желая заставить LibreOffice распознавать формат (как я ожидал построить диаграмму), я выбрал столбец, выбрал Format Cells...
и ввел пользовательский формат времени как
YYYY-MM-DDTHH:MM:SS.000Z
И это похоже на работу, если... Я редактирую ячейку, чтобы удалить скрытую одинарную кавычку из ее начала (которая служит для защиты содержимого ячейки от интерпретации), так как все вновь отформатированные ячейки теперь хранят такие значения, как
'2012-01-01T00:00:00.000Z
(обратите внимание на одинарную кавычку - она видна только при редактировании определенной ячейки).
И я должен сделать это для всех клеток в столбце. Как я могу автоматизировать это?
ОБНОВЛЕНИЕ: я уже нашел решение для моего конкретного случая: оно помогает установить формат столбца на "время" в диалоге импорта CSV. Но мне все еще интересно, как это можно сделать в случае, если у меня не будет исходного файла данных.csv для импорта, а будет только файл.ods с уже импортированными данными без формата, указанного во время импорта.
7 ответов
Вы можете удалить начальную одинарную кавычку (которая на самом деле не является частью строки в ячейке) с помощью поиска на основе регулярных выражений и заменить:
- Поиск всех символов между началом и концом строки
^.*$
- заменить на матч
&
Попытка замены регулярного выражения ^.\*$
с &
вылетел LibreOffice 5. Замена .\*
с &
работал нормально.
Эта проблема с одинарной кавычкой все еще существует в LibreCalc. Я протестировал оба решения, и они работают.
Текст в столбцы, вероятно, легче всего запомнить:
Данные> Текст по столбцам> Убедитесь, что настройки фактически не разделяют данные, затем нажмите «ОК». ...Сделанный.
Поиск и замена могут быть полезны, если вам нужно избавиться от лидирующего индикатора одинарной кавычки на всем листе:
Правка> Найти и заменить> Убедитесь, что выбраны «регулярные выражения», затем выполните поиск.* и замените на &... Готово.
Вам не нужны символы ^ и $ для обозначения начала и конца строки. Точка, означающая «любой символ», и звездочка, означающая «ноль или более раз», делают свое дело.
Но будь осторожен; Удаление текстового флага открывает доступ к автоматической интерпретации ваших данных. По моему опыту (по крайней мере, в Excel) это приводит к повреждению данных, поскольку часто неправильно предсказывается, какие данные следует переформатировать и как.
Чтобы уточнить и перефразировать то, что сказал sxc731:
Когда вы загружаете файл XL из сети и открываете его в Libre Calc, перед числовыми столбцами может стоять одинарная кавычка, поэтому они считаются текстом. В столбце не будут работать никакие формулы или числовые операции. Но меню «Формат/Ячейки» по-прежнему показывает его как число. Это заблуждение! Чтобы преобразовать его в фактические числа:
- (1) Выберите столбец, щелкнув его заголовок. Это важно. В противном случае пункт меню на следующем шаге будет отключен.
- (2) Нажмите меню «Данные» и выберите «Текст в столбцы».
- (3) В появившемся диалоговом окне раскрывающийся список «Тип полей/столбцов» изначально будет пустым. (Возможно, это ошибка). Чтобы заполнить его: щелкните заголовок «Стандарт» в мини-таблице, отображаемой под ним. Теперь раскрывающийся список «Тип столбца» будет заполнен.
- (4) Выберите «Стандартный» в качестве типа столбца.
Теперь числа в столбце будут восприниматься как числа, а не как текст.
С помощью небольшого компьютерного фокусирования поиска и поиска (техники программирования, если хотите), которое называется Regular Expression или regex для краткости. Для примеров, пожалуйста, смотрите - http://www.regular-expressions.info/examples.html
На самом деле, вам нужно сначала процитировать знак доллара.
По сути, libreOffice по какой-то неизвестной причине добавляет в поле одну кавычку. Таким образом, вам нужно заменить что-либо до знака доллара ничем. Поэтому используйте регулярное выражение ^.*\$ И ничего не заменяйте. Работал на меня.