Как вставить данные 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), чтобы заменить вкладки пробелами.

  1. Откройте и вставьте данные в Word
  2. Нажмите Ctrl+H
  3. Больше >>
  4. Специальный
  5. Пустое пространство
  6. Поместите пробел в замену:
  7. Заменить все

Используя программное обеспечение с открытым исходным кодом R и R Studio, можно использовать пакет datapasta R для вставки из Excel во фрейм данных. Затем с помощью функции kable пакета Knitr R а-ляknitr::kable(pasted_dataframe), предоставленная таблица аккуратно вставляется в Блокнот или тому подобное.

Это очень быстрый процесс после установки программного обеспечения.

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