Как удалить простой текст, защищающий одинарную кавычку из всех выделенных ячеек в 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 по какой-то неизвестной причине добавляет в поле одну кавычку. Таким образом, вам нужно заменить что-либо до знака доллара ничем. Поэтому используйте регулярное выражение ^.*\$ И ничего не заменяйте. Работал на меня.

Другие вопросы по тегам