Как вставить данные Excel в текст с фиксированной шириной?
Если я копирую данные в Excel и вставляю их в текстовый файл, я получаю вкладки между ячейками. Это не хорошо, я хочу пробелы - и я хочу, чтобы столбцы были выровнены. Как я могу добиться этого без особых усилий (очевидно, я не хочу запускать регулярные выражения вручную и т. Д.)
Использование "Сохранить как" (как в этом вопросе) не является для меня решением, мне нужно скопировать и вставить.
4 ответа
Это, конечно, не просто объяснить... но после его настройки он будет работать с минимальными усилиями. Также это небольшое изменение того, что наметил @pnuts
Я предлагаю использовать электронную таблицу шаблонов, которую вы можете скопировать и вставить. шаблон, который я создал, имеет 3 вкладки, которые выглядят следующим образом.
Data
вкладка, где данные вставляютсяLength
собирается сделать некоторую математику, чтобы определить самый длинный столбецSpace insert
собирается вставить соответствующее количество пробелов (редактировать), которые вы можете скопировать отсюда и получить правильный результат
вкладка длины выглядит
Строка 1 имеет максимальное количество символов в столбце ниже и содержит формулу
=MAX(A2:A101)+1
+1 создает разделитель.
Строки от 2 до n (которые я увеличил до 100 для этого примера) содержат формулу для оценки длины каждой строки
=LEN('Data tab'!A1)
вкладка пробела выглядит как
Каждая ячейка содержит ячейку, чтобы оценить ее длину по сравнению с максимальным значением (+ разделитель) и вставить соответствующее количество пробелов.
='Data tab'!A1&REPT(" ",length!A$1-length!A2)
Обратите внимание на $, который блокирует строку 1, если вы копируете и вставляете формулу
(редактировать) вы можете скопировать из вкладки пробела.
Самым простым решением было бы объединить ваши числовые данные в "комментированную" строку, которая корректно вставляется в текстовый файл. Создайте формулу Excel для одной строки, а затем скопируйте ее для всех строк на рабочем листе, а затем скопируйте столбец формулы и вставьте его в текстовый файл. Например,
Данные
Ячейка А1: 247
Ячейка B1: 19
Ячейка С1: 1437
Формула в ячейке D1
= A1 & " "&B1&","& С1
Текст-вставляемый результат
247,19,1437
Есть другой подход, который не опирается на формулы.
- Во-первых, убедитесь, что все столбцы данных имеют одинаковую ширину.
- Затем вставьте еще один столбец между каждой парой столбцов данных шириной 2.
- Введите одну запятую в каждом из вставленных столбцов, копируя ее по длине данных.
- Наконец, сохраните лист в формате отформатированного текста (с пробелами) (*.prn).
Преимущество этой альтернативы в том, что она сохраняет форматирование ваших данных. Если вы хотите отформатировать данные запятыми или просто указать один десятичный знак, ваше форматирование будет сохранено в файле prn.
Вы можете скопировать свои данные в Word, а затем использовать Find and Replace (Ctrl+H), чтобы заменить вкладки пробелами.
- Откройте и вставьте данные в Word
- Нажмите Ctrl+H
- Больше >>
- Специальный
- Пустое пространство
- Поместите пробел в замену:
- Заменить все
Используя программное обеспечение с открытым исходным кодом R и R Studio, можно использовать пакет datapasta R для вставки из Excel во фрейм данных. Затем с помощью функции kable пакета Knitr R а-ляknitr::kable(pasted_dataframe)
, предоставленная таблица аккуратно вставляется в Блокнот или тому подобное.
Это очень быстрый процесс после установки программного обеспечения.